二进制的骚操作-马赛克
#include<stdio.h>
//#include"swap.h"
#include<easyx.h>//getpixel(x,y);//获取坐标位X和Y的像素点
//putpixel(x,y,color)//输出像素点
/*
图片?像素点?
像素点的本质是什么?颜色
存放在计算机里面,二进制 颜色在内存当中
4Byte 32位
00000000 00000000 00000000 00000000
a b g r //正确
alpha red green blue //错误
透明度 红 绿 蓝*/
int main()
{//char filename[20] = { 0 };//printf("请输入图片名:");//scanf_s("%s", filename,10);IMAGE img;//loadimage(&img, filename);//把图片保存在img中loadimage(&img, "1.jpg");int width=img.getwidth();int height=img.getheight();initgraph(width, height);putimage(0, 0, &img);//主题:马赛克int size = 10;//一个晓方格的宽度int redsum;//一个格子里面每一个像素点的红色总和int greensum;int bluesum;int count;//一个格子中像素点的个数,剩下的一些边边int color;//遍历每一个小格子,x,y每个格子左上角坐标for (int y = 0; y < height; y += size){for (int x = 0; x < width; x+=size){//将数据清零redsum = greensum = bluesum = count = 0;//循环遍历小格子里的像素点for (int gy = y; gy < min(y+size,height); gy++){for (int gx = x; gx < min(x+size,width); gx++){int color = getpixel(gx, gy);//获取像素点 32位的数据redsum += color & 0xff;greensum += (color >> 8) & 0xff;bluesum+= (color >> 16) & 0xff;count++;}}//循环结束 小格子里面 数据全部统计完成redsum = redsum / count;greensum = greensum / count;bluesum = bluesum / count;color = (bluesum << 16) + (greensum << 8) + redsum;for (int gy = y; gy < min(y + size, height); gy++){for (int gx = x; gx < min(x + size, width); gx++){putpixel(gx, gy, color);}}}}for (int y = 0; y < height; y++){for (int x = 0; x < width; x++){int color = getpixel(x, y);//获取到每一个像素点//color = 0;//图片变成黑色的了//color = 0xffff01;//图片变成蓝色的了//color: 00000000 10010010 11101101 10101100// 00000000 00000000 00000000 11111111 &//----------------------------------------------------// 10101100//color: 00000000 00000000 10010010 11101101 // 00000000 00000000 00000000 11111111 &// ----------------------------------------------------// 10101100 int blue = (color >> 16) & 0xff;int green = (color >> 8) & 0xff;int red=color&0xff;//10101100//red = 0;//关掉红色通道//green = 0;//关掉红色通道//黑白:原理 (200+100+30)/3int rgb = (red + green + blue) / 3;//反色//rgb = 255 - rgb;color = (rgb << 16) + (rgb << 8) + rgb;//color = (blue << 16) + (green << 8) + red;putpixel(x, y, color);//像素点输出 }}//system("pause");while (1);return 0;
}
二进制的骚操作-马赛克相关推荐
- 如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)...
0x01 问题提出 还记得上篇文章记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门),我们讲到了一些PHP的一些如何巧妙地绕过数字和字母受限的技巧,今天我要给大家分享的是如 ...
- lisp 提取字符串中的數字_Redis 数据结构之字符串的那些骚操作
Redis 字符串底层用的是 sds 结构,该结构同 c 语言的字符串相比,其优点是可以节省内存分配的次数,还可以... 这样写是不是读起来很无聊?这些都是别人咀嚼过后,经过一轮两轮三轮的再次咀嚼,吐 ...
- python各种文件_Python中对 文件 的各种骚操作
Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...
- Python68个内置函数大总结,内置函数的骚操作来了!!
学了快一年的Python了,突然发现,内置函数能够大大的加快开发时的效率,花了一周时间整理了一下68个内置函数,来看看内置函数的骚操作吧! 由于平台原因图片不是很清晰如果想要获取高清的照片或者pdf ...
- 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件
如果看到一个需要播放的视频链接显示是一张图片,你会不会感觉有点懵?如果这张图片写着 png,然后实际格式是 bmp ,你会不会更懵了?如果这个 bmp 还做了加密篡改呢?今天我们要聊的就是这样一个充满 ...
- 五分钟没有操作自动退出_这又是什么骚操作??5只蚂蚁战略配售基金拟增设B类份额,自动赎回退出!!...
他来了,他来了,这又是什么骚操作??昨天,五只创新未来18个月封闭运作混合型证券投资基金发布联合声明,会为这个战略配售基金安排一个月的退出选择期. 5只创新未来18个月封闭运作混合型证券投资基金发布联 ...
- GitHub 骚操作,个人页还能这么玩?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 之前写过一篇 GitHub 骚操作的文章 GitHub 竟 ...
- 杀疯了!通过游戏“元宇宙”,Deepmind让AI学会玩各种没玩过的游戏,骚操作不断...
来源:大数据文摘本文约1800字,建议阅读7分钟 面对任务一看就会的AI,离我们心里的通用人工智能还有多远呢? 对于AI来说,完成一个单一任务或许相对简单,但是涉及到合作和博弈时,AI往往显得有些愚蠢 ...
- K项目的一些心得之全球模板里的几个骚操作
K项目的一些心得之全球模板里的几个骚操作 1,数据迁移阶段,物料主数据分类视图里,batch class的代码跟物料号相同. 这意味着如果需要迁移的物料有1万个,导入程序会自动创建1万023类型的分类 ...
最新文章
- 初创公司面试要问什么_聘请初创公司的产品设计师时要问的问题
- linux shell awk 中 printf 用法
- Eucalyptus系统部署
- 执行python时,ImportError: No module named xxx的解决方法
- 前端学习(1046):todolist删除数据1
- 医学专用计算机证,问一下,医学生考计算机2级证和心理咨询师证有用吗
- 以links方式安装eclipse插件
- Oracle数字从两头排序,oracle字符串型数字排序问题
- 图解Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN
- Proteus仿真Arduino的Proteus Library文件下载
- 必看的经典金融书籍推荐zz
- 【软件工程师学硬件】之 单片机
- C语言:数组数据移动
- python矩阵对角化_大矩阵对角化python
- WEB安全 HTML基础
- BootstrapTable的列排序怎么搞
- 中央电教馆虚拟实验服务器,中央电化教育馆中小学虚拟实验试点工作启动暨培训会侧记...
- arm为何断供华为?华为会使用RISC-V取代ARM?
- 百分百解决 mbatis/mp报错 Invalid bound statement (not found)
- 微信小程序 java服务器发送通知给用户 全流程 (获取openid 获取formid)