#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;
}

二进制的骚操作-马赛克相关推荐

  1. 如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)...

    0x01 问题提出 还记得上篇文章记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门),我们讲到了一些PHP的一些如何巧妙地绕过数字和字母受限的技巧,今天我要给大家分享的是如 ...

  2. lisp 提取字符串中的數字_Redis 数据结构之字符串的那些骚操作

    Redis 字符串底层用的是 sds 结构,该结构同 c 语言的字符串相比,其优点是可以节省内存分配的次数,还可以... 这样写是不是读起来很无聊?这些都是别人咀嚼过后,经过一轮两轮三轮的再次咀嚼,吐 ...

  3. python各种文件_Python中对 文件 的各种骚操作

    Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...

  4. Python68个内置函数大总结,内置函数的骚操作来了!!

    ​学了快一年的Python了,突然发现,内置函数能够大大的加快开发时的效率,花了一周时间整理了一下68个内置函数,来看看内置函数的骚操作吧! 由于平台原因图片不是很清晰如果想要获取高清的照片或者pdf ...

  5. 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件

    如果看到一个需要播放的视频链接显示是一张图片,你会不会感觉有点懵?如果这张图片写着 png,然后实际格式是 bmp ,你会不会更懵了?如果这个 bmp 还做了加密篡改呢?今天我们要聊的就是这样一个充满 ...

  6. 五分钟没有操作自动退出_这又是什么骚操作??5只蚂蚁战略配售基金拟增设B类份额,自动赎回退出!!...

    他来了,他来了,这又是什么骚操作??昨天,五只创新未来18个月封闭运作混合型证券投资基金发布联合声明,会为这个战略配售基金安排一个月的退出选择期. 5只创新未来18个月封闭运作混合型证券投资基金发布联 ...

  7. GitHub 骚操作,个人页还能这么玩?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 之前写过一篇 GitHub 骚操作的文章 GitHub 竟 ...

  8. 杀疯了!通过游戏“元宇宙”,Deepmind让AI学会玩各种没玩过的游戏,骚操作不断...

    来源:大数据文摘本文约1800字,建议阅读7分钟 面对任务一看就会的AI,离我们心里的通用人工智能还有多远呢? 对于AI来说,完成一个单一任务或许相对简单,但是涉及到合作和博弈时,AI往往显得有些愚蠢 ...

  9. K项目的一些心得之全球模板里的几个骚操作

    K项目的一些心得之全球模板里的几个骚操作 1,数据迁移阶段,物料主数据分类视图里,batch class的代码跟物料号相同. 这意味着如果需要迁移的物料有1万个,导入程序会自动创建1万023类型的分类 ...

最新文章

  1. 初创公司面试要问什么_聘请初创公司的产品设计师时要问的问题
  2. linux shell awk 中 printf 用法
  3. Eucalyptus系统部署
  4. 执行python时,ImportError: No module named xxx的解决方法
  5. 前端学习(1046):todolist删除数据1
  6. 医学专用计算机证,问一下,医学生考计算机2级证和心理咨询师证有用吗
  7. 以links方式安装eclipse插件
  8. Oracle数字从两头排序,oracle字符串型数字排序问题
  9. 图解Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN
  10. Proteus仿真Arduino的Proteus Library文件下载
  11. 必看的经典金融书籍推荐zz
  12. 【软件工程师学硬件】之 单片机
  13. C语言:数组数据移动
  14. python矩阵对角化_大矩阵对角化python
  15. WEB安全 HTML基础
  16. BootstrapTable的列排序怎么搞
  17. 中央电教馆虚拟实验服务器,中央电化教育馆中小学虚拟实验试点工作启动暨培训会侧记...
  18. arm为何断供华为?华为会使用RISC-V取代ARM?
  19. 百分百解决 mbatis/mp报错 Invalid bound statement (not found)
  20. 微信小程序 java服务器发送通知给用户 全流程 (获取openid 获取formid)

热门文章

  1. 宝塔的ftp无法连接
  2. matlab数值拟合r2_用MATLAB求RMSE怎么用MATLAB计算均方误差
  3. 企业平台网站漏洞安全测试服务如何选择
  4. 解析新浪微博的登录过程
  5. Linux httpd配置
  6. 【ctf】Crypto初步基础概要
  7. 猿辅导纪录片《奔流》温情献映开学季,讲述不同岗位的教育坚守
  8. 软件测试大赛赞助商发言,赞助商代表在大学生创业计划竞赛上的致词- .doc...
  9. 解决flex布局space-between最后一行布局问题超简单方法
  10. 【网络小说推荐】宗教裁判所