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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/504088.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jupyter 用pyecharts进行数据分析

一、jupyter和pyecharts下载和打开 因为我是用的pycharm&#xff0c;所以我直接在pycharm项目终端中下载pip install jupyter,pip install pyecharts 在你下载的项目路径中输入jupyter notebook 之后会进入页面 Jupyter 具体使用参考这个链接&#xff1a;Jupyter Notebook基本…

深入理解变量名与指针:编程语言中的抽象与直接内存访问

深入理解变量名与指针&#xff1a;编程语言中的抽象与直接内存访问 在编程世界里&#xff0c;理解变量名与指针的概念是理解软件是如何与计算机硬件交互的关键。这篇博客旨在深入探讨变量名和指针在不同编程语言中的作用和区别&#xff0c;以及它们在内存管理中的意义。 变量名…

【python】python懂车帝数据可视化(代码+报告)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

windows系统下安装RabbitMQ

一、RabbitMQ安装软件资源准备 因为RabbitMQ是Erlang语言开发的&#xff0c;因此安装Erlang环境在进行安装RbbitMQ的操作&#xff0c;选择两者版本时一定要参考版本的兼容性 1.RabbitMQ国内下载地址&#xff0c;因官网下载比较缓慢&#xff0c;还是国内的稍微快些 https://r…

Kubernetes 杂谈之 configmap \n的问题

一 configmap \n的问题 涉及的知识点&#xff1a; configmap资源对象、yaml|- | >语法目的&#xff1a; 彻底解决YAML 多行文本格式化丢失问题 ① ConfigMap 进阶 configmap 的data中的文件内容格式错乱 ConfigMap多行格式 场景&#xff1a;将业务部署到k8s时,应用的…

牛客禁用题:求阶乘

思路&#xff1a;在新类中使用全局变量进行运算&#xff0c;在主类中定义新类数组&#xff0c;通过构造函数的调用次数返回阶乘 #include <type_traits> class add{public:static int count;static int tmp;add(){countcounttmp;tmp;} }; int add::count0; int add::t…

opencascade c#例程解析

1.编译 将msvc.bat文件拖入vs2022的x64 native tools&#xff0c;即可 2.about.xaml <Windowxmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"x:Class"IE_WPF_WinForms…

欧姆龙PLC使用

安装开发软件 Sysmac Studio 1_7_20》1.5升级包》1.29升级包 许可证 6002-2091-3336-5781 项目启动 1、新建项目&#xff0c;选择对应PLC和开发软件版本号 2、自动创建项目后&#xff0c;可以设置通讯&#xff0c;如OPC和CIP CIP启动与配置 更改IP地址 3、添加全局变量&a…

Laravel Octane 和 Swoole 协程的使用分析

之前在工作中使用 Laravel Octane 的 concurrently 处理并发时&#xff0c;发现在队列和定时任务中不会触发并发效果。经过分析&#xff0c;作了如下猜测&#xff1a;队列和定时任务都属于一个独立的进程&#xff0c;与 Octane 服务无关&#xff0c;而 Octane concurrently 恰恰…

【开源】JAVA+Vue.js实现APK检测管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 开放平台模块2.3 软件档案模块2.4 软件检测模块2.5 软件举报模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 开放平台表3.2.2 软件档案表3.2.3 软件检测表3.2.4 软件举报表 四、系统展示五、核心代…

策略模式 详解 设计模式

策略模式 策略模式是一种行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;将每个算法封装到具有共同接口的独立类中&#xff0c;并且使它们可以相互替换。 策略模式可以让算法的变化独立于使用算法的客户端。 主要解决&#xff1a; 在有多种算法相似的情况下&#…

物联网主机:为智能交通赋能

物联网&#xff08;IoT&#xff09;技术的发展为智能交通领域带来了许多创新的解决方案。而在物联网应用中&#xff0c;物联网主机起着关键的作用。本文将为大家介绍一款名为E6000的物联网主机&#xff0c;它是一种多协议、多接口的物联网主机&#xff0c;为智能交通系统的建设…