zoukankan      html  css  js  c++  java
  • c#_具有索引像素格式的图像不支持 SetPixel

    首先呢我们要明白各种图片格式,不同的图片格式成像也是不同的,对于索引类型的图片,其文件头部有一个颜色表,这个表按照一定的规律存储了所有的可能在这张图片中出现的颜色。它的每一个点的像素值(ARGB)并不是直接存储的。在存储具体点的数据的地方之只是存储其在颜色表中的索引,在进行的解码的时候,读取索引然后在颜色表中查找,找到对应所以的颜色值之后将其显示出来作为这个点的颜色值。
    System.Drawing.Image不支持通过索引的方式存储图片数据的图片实现setpixel,-_-\心累(我觉得完全可以实现的啊)
    可是这又有什么关系呢!
    我们可以通过Bitmap.Clone()来将索引图片的像素数据拷贝到我们新建的图片上,并且在函数中指定我们新图片的pixelFormat (这次就不要设置成什么索引类型的啦!)接下来就是对我们新建的图片进行操作啦。。。想怎么玩就怎么玩的!

    Bitmap indexImg = new Bitmap(“fileName.jpg”);
    Bitmap newImg = indexImg.Clone(new Rectangle(0,0,indexImg.Width,indexImg.Height),PixelFormat.Format24bppRgb);
    // do something you want
    // example : setPixel() …..
    // balabalabla

  • 相关阅读:
    GPS时间服务器在广电系统的应用
    时钟系统报价分析
    北斗校时服务器装置介绍
    时钟服务器的安装与调试
    频率计使用说明
    通用计数器使用方法
    WOL持久化配置
    RGB屏驱动流程
    iOS-苹果登陆授权(AppleID SignIn)
    VSCODE自用快捷键备忘
  • 原文地址:https://www.cnblogs.com/pjCoder/p/5596774.html
Copyright © 2011-2022 走看看