当前位置: 首页 > news >正文

php源码 单色bmp图片取模工具 按任意方式取模 生成字节数组 自由编辑点阵

http://2.wjsou.com/BMP/index.html

想试试chatGPT4生成,还是要手工改

php 写一个网页界面上可以选择一张bmp图片,界面上就显示这张bmp图片,
点生成取模按钮,在图片下方会显示这张bmp图片的取模数据。
取模规则是按界面设置的,是否横向取模或纵向取模 ,是否从左到右,是否从下到上,是否高位在前或高位在后,是否字节内像素数据反转,这些可以在界面切换。最后的数据是16进制字节数组,类似于下面格式
//图片:D:\test.bmp
//数据排列:横向从左到右从上到下 高位在前,宽:16,高:16
//点阵数据:
char Msk[]={
0x00, 0x00, 0x3E, 0x20, 0x20, 0x3C, 0x22, 0x02, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

支持php 5.6及以上版本。其它版本我没有测。

没有用插件gd2等。用原始的读文件。
单色bmp图片取模工具 php源码

读每个点的颜色(放弃这个方案)

这个图片处理要用到插件,就不用这个方案。gd2要php7.2才支持。用这个的好处就是可以任意图片png,jpg,bmp32位等。

bmp解析,直接读数据

倒过来,即0000003E处是像素点阵数据。其它信息都不太重要。
在这里插入图片描述

单色点阵数据在bmp中的格式

在这里插入图片描述

取模规则

在这里插入图片描述
可以自由组合。参照windows版:
在这里插入图片描述

对照验证

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><title>单色bmp图片取模工具 php源码</title>
</head>
<body><form id="uploadForm" enctype="multipart/form-data"><input type="file" name="image" accept=".bmp" required><br><input type="checkbox" name="horizontal"> 横向取模(不勾选为纵向)<br><input type="checkbox" name="secondByteOnRight" checked> 第二字节在右(不勾选为第二字节在在下)<br><input type="checkbox" name="topToBottom" checked> 从上到下(无效)<input type="checkbox" name="leftToRight" checked> 从左到右(无效)<br><input type="checkbox" name="highBitFirst" checked> 高位在前(即大端模式)<input type="checkbox" name="pixelReverse" checked> 像素反转(即黑白颠倒)<br><button type="button" onclick="submitForm()">生成取模</button></form><br><img id="previewImage" style="display:none;"><pre id="modResult"></pre><script>function submitForm() {var formData = new FormData(document.getElementById('uploadForm'));fetch('process_image.php', {method: 'POST',body: formData,}).then(response => response.json()).then(data => {document.getElementById('previewImage').src = data.imageUrl;document.getElementById('previewImage').style.display = 'block';document.getElementById('modResult').textContent = data.modData;});}</script>
</body>
</html>

相关文章:

php源码 单色bmp图片取模工具 按任意方式取模 生成字节数组 自由编辑点阵

http://2.wjsou.com/BMP/index.html 想试试chatGPT4生成&#xff0c;还是要手工改 php 写一个网页界面上可以选择一张bmp图片&#xff0c;界面上就显示这张bmp图片&#xff0c; 点生成取模按钮&#xff0c;在图片下方会显示这张bmp图片的取模数据。 取模规则是按界面设置的&a…...

设计模式-命令模式(Command Pattern)

承接Qt/C软件开发项目&#xff0c;高质量交付&#xff0c;灵活沟通&#xff0c;长期维护支持。需求所寻&#xff0c;技术正适&#xff0c;共创完美&#xff0c;欢迎私信联系&#xff01; 一、命令模式的说明 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式…...

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:位置设置)

设置组件的对齐方式、布局方向和显示位置。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 align align(value: Alignment) 设置容器元素绘制区域内的子元素的对齐方式。 卡片能力&#xff1a; 从API…...

ShardingJdbc实战-分库分表

文章目录 基本配置分库分表的分片策略一、inline 行表达时分片策略algorithm-expression行表达式完整案例和配置如下 二、根据实时间日期 - 按照标准规则分库分表标准分片 - Standard完整案例和配置如下 基本配置 逻辑表 逻辑表是指&#xff1a;水平拆分的数据库或者数据表的相…...

51单片机-(定时/计数器)

51单片机-&#xff08;定时/计数器&#xff09; 了解CPU时序、特殊功能寄存器和定时/计数器工作原理&#xff0c;以定时器0实现每次间隔一秒亮灯一秒的实验为例理解定时/计数器的编程实现。 1.CPU时序 1.1.四个周期 振荡周期&#xff1a;为单片机提供定时信号的振荡源的周期…...

midjourney提示词语法

更高级的提示可以包括一个或多个图像URL、多个文本短语和一个或更多个参数 Image Prompts 可以将图像URL添加到提示中&#xff0c;以影响最终结果的样式和内容。图像URL总是位于提示的前面。 https://docs.midjourney.com/image-prompts Text Prompt 要生成的图像的文本描述。…...

【鸿蒙 HarmonyOS 4.0】路由router

一、介绍 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块&#xff0c;通过不同的url地址&#xff0c;可以方便地进行页面路由&#xff0c;轻松地访问不同的页面。 二、页面跳转 2.1、两种跳转模式&#xff1a; router.pushUrl()&…...

AT24C1024的模拟IIC驱动

AT24C1024是基于IIC的EEPROM&#xff0c;容量为1024/8128k bytes。它的引脚如下&#xff1a; 其中A1,A2为硬件地址引脚 WP为写保护引脚&#xff0c;一般我们需要读写&#xff0c;需要接低电平GND&#xff0c;接高的话则仅允许读 SDA和SCL则为IIC通信引脚 芯片通信采用IIC&…...

Stable Diffusion生成式扩散模型代码实现原理

Stable Diffusion可以使用PyTorch或TensorFlow等深度学习框架来实现。这些框架提供了一系列的工具和函数&#xff0c;使得开发者可以更方便地构建、训练和部署深度学习模型。因此可以使用PyTorch或TensorFlow来实现Stable Diffusion模型。 安装PyTorch&#xff1a;确保您已经安…...

解决Keepalived “脑裂”(双VIP)问题

1. 检查广播情况 yum install tcpdump -y tcpdump -i ens33 vrrp -n master 192.168.80.130 与 backup: 192.168.80.131都在广播&#xff0c;正常情况下backup应该是不在广播的&#xff0c;所以可以判断存在防火墙屏蔽vrrp问题&#xff0c;需要设置VRRP过掉防火墙&#xff0…...

cAdvisor+Prometheus+Grafana 搞定Docker容器监控平台

cAdvisorPrometheusGrafana cAdvisorPrometheusGrafana 搞定Docker容器监控平台1、先给虚拟机上传cadvisor2、What is Prometheus?2.1、架构图 3、利用docker安装普罗米修斯4、安装grafana cAdvisorPrometheusGrafana 搞定Docker容器监控平台 1、先给虚拟机上传cadvisor cAd…...

java基础知识面试题

下面是关于java基础知识的一些常见面试题 equals 与区别 在Java中&#xff0c;""是一个比较操作符&#xff0c;用于比较两个变量的值是否相等。而"equals()"是Object类中定义的方法&#xff0c;用于比较两个对象是否相等。 具体区别如下&#xff1a; &…...

科技云报道:黑马Groq单挑英伟达,AI芯片要变天?

科技云报道原创。 近一周来&#xff0c;大模型领域重磅产品接连推出&#xff1a;OpenAI发布“文字生视频”大模型Sora&#xff1b;Meta发布视频预测大模型 V-JEPA&#xff1b;谷歌发布大模型 Gemini 1.5 Pro&#xff0c;更毫无预兆地发布了开源模型Gemma… 难怪网友们感叹&am…...

解决i18n国际化可读性问题,傻瓜式webpack中文支持国际化插件开发

先来看最后的效果 问题 用过国际化i18n的朋友都知道&#xff0c;天下苦国际化久矣&#xff0c;尤其是中文为母语的开发者&#xff0c;在面对代码中一堆的$t(abc.def)这种一点也不直观毫无可读性的代码&#xff0c;根本不知道自己写了啥 &#xff08;如上图&#xff0c;你看得出…...

【Django】执行查询—F()表达式

F() F()可以实现将模型字段值与同一模型中的另一字段做比较。举个例子看一下&#xff1a; class Entry(models.Model):...number_of_comments models.IntegerField(default0)number_of_pingbacks models.IntegerField(default0)...找到所有 number_of_pingbacks 大于 numbe…...

202112CSPT4磁盘文件操作

题意&#xff1a;有n个id号&#xff0c;m段空间&#xff0c;k个操作&#xff1a; 0 0 0:从L开始到R或遇到第一个其他非空id号为止&#xff0c;写入 i d id id号以及值 v a l val val&#xff1b;如果成功写入则输出写入成功的最右位置&#xff0c;否则输出-1 1 1 1:若 [ L , …...

5GC SBA架构

协议标准&#xff1a;Directory Listing /ftp/Specs/archive/23_series/23.501/ (3gpp.org) NF描述说明NSSFNetwork Slice Selection Function网络切片选择&#xff0c;根据UE的切片选择辅助信息、签约信息等确定UE允许接入的网络切片实例。NEF Network Exposure Function网络开…...

《求生之路2》服务器如何选择合适的内存和CPU核心数,以避免丢包和延迟高?

根据求生之路2服务器的实际案例分析选择合适的内存和CPU核心数以避免丢包和延迟高的问题&#xff0c;首先需要考虑游戏的类型和对服务器配置的具体要求。《求生之路2》作为一款多人在线射击游戏&#xff0c;其服务器和网络优化对于玩家体验至关重要。 首先&#xff0c;考虑到游…...

精读服务器默认rsyslog的配置文件

rsyslog的配置文件 rsyslog.conf #### MODULES ####$ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal #$ModLoad imklog # reads kernel messages (the same are read…...

Vue2:用node+express部署Vue项目

一、编译项目 命令 npm run build执行命令后&#xff0c;我们会在项目文件夹中看到如下生成的文件 二、部署Vue项目 接上一篇&#xff0c;nodeexpress编写轻量级服务 1、在demo中创建static文件夹 2、将dist目录中的文件放入static中 3、修改server.js文件 关键配置&…...

从‘链式法则’到‘误差信号’:手绘流程图拆解BP,像调试程序一样理解神经网络学习

从‘链式法则’到‘误差信号’&#xff1a;手绘流程图拆解BP&#xff0c;像调试程序一样理解神经网络学习 第一次看到反向传播的数学推导时&#xff0c;那些偏导数和链式法则让我想起了刚学编程时调试递归函数的痛苦经历。直到有一天&#xff0c;我把神经网络的前向传播想象成函…...

终极百度网盘高速下载方案:免费解析工具让下载速度飙升

终极百度网盘高速下载方案&#xff1a;免费解析工具让下载速度飙升 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的龟速下载而烦恼吗&#xff1f;面对大…...

TVA团队之短:技能与意识不足,执行变形导致 “价值缩水”

&#xff08;一&#xff09;典型误区表现人员培训缺失&#xff0c;操作不规范&#xff1a;仅对一线操作人员进行简单的开机、关机培训&#xff0c;未开展系统的技术培训&#xff0c;导致操作人员不熟悉设备参数调整、故障排查、数据记录等核心技能&#xff0c;易出现操作失误。…...

深入解析CANFD的位定时优化与同步策略

1. CANFD协议基础与位定时核心概念 CANFD&#xff08;Controller Area Network Flexible Data-rate&#xff09;作为传统CAN协议的升级版&#xff0c;最显著的特点是支持"双速率"传输——仲裁阶段保持传统速率&#xff08;通常500kbps&#xff09;&#xff0c;数据阶…...

系统流程图绘制技巧与Visio实战指南

1. 系统流程图基础与Visio入门 第一次接触系统流程图时&#xff0c;我也被那些奇怪的符号搞得一头雾水。直到接手一个库存管理系统项目&#xff0c;才真正理解这些图形背后的逻辑。系统流程图就像建筑师的蓝图&#xff0c;用标准化符号展示数据在系统中的流动路径。Visio作为流…...

Akagi:雀魂AI助手终极指南 - 从菜鸟到高手的快速成长之路

Akagi&#xff1a;雀魂AI助手终极指南 - 从菜鸟到高手的快速成长之路 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將&#xff0c;能夠使用自定義的AI模型實時分析對局並給出建議&#xff0c;內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Am…...

终极指南:MAA明日方舟小助手如何实现游戏日常一键自动化

终极指南&#xff1a;MAA明日方舟小助手如何实现游戏日常一键自动化 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手&#xff0c;全日常一键长草&#xff01;| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://g…...

如何快速掌握OpenArk:7个实用技巧解决Windows系统安全问题

如何快速掌握OpenArk&#xff1a;7个实用技巧解决Windows系统安全问题 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk OpenArk是一款功能强大的Windows系统安全分析工…...

Python的__getattr__中的完整性

Python中的__getattr__方法是一个强大的钩子函数&#xff0c;用于在访问不存在的属性时动态处理请求。它的完整性设计不仅体现了Python的灵活性&#xff0c;也为开发者提供了更多控制权。理解__getattr__的完整性机制&#xff0c;能够帮助开发者构建更健壮、更智能的对象模型。…...

若依前后端分离版部署实战:Nginx反向代理+生产环境优化配置

若依前后端分离版生产环境部署全攻略&#xff1a;Nginx调优与安全实践 第一次将若依框架部署到生产环境时&#xff0c;我遇到了前端资源加载缓慢、后端接口频繁超时的问题。经过多次实战调优&#xff0c;终于总结出一套兼顾性能与安全的部署方案。本文将分享从基础部署到深度优…...