大批量修改像素数据应该用锁定位图方式去操作!置某点颜色效率很差的!同样的图像,转换一次效率差10倍!
变量名 | 类 型 | 静态 | 数组 | 备 注 | Color | 整数型 | | | Bitmap | GP位图 | | | BitmapData | 位图数据 | | | x | 整数型 | | | y | 整数型 | | | Pixel | 整数型 | | | t | 整数型 | | |
Color = RGB到ARGB (rgb, 255 )Bitmap. 创建自字节集 (image )Bitmap. 锁定数据 (制矩形L (0, 0, Bitmap. 取宽度 (), Bitmap. 取高度 ()), 位或 ( #图像锁定模式_读, #图像锁定模式_写 ), #像素格式_32bppARGB, BitmapData ) 变量循环首 (0, BitmapData.高度 - 1, 1, y ) 变量循环首 (0, BitmapData.宽度 - 1, 1, x )  Pixel = 指针到整数 (BitmapData.像素数据 + y × BitmapData.跨步 + x × 4 )  如果真 (Pixel = Color )  写字节 (BitmapData.像素数据 + y × BitmapData.跨步 + x × 4 + 3, 0 )    变量循环尾 () 变量循环尾 ()Bitmap. 解锁数据 (BitmapData )底图 = Bitmap. 保存到字节集 ( #图像格式_PNG )Bitmap. 销毁 () 如果真 (IsBadReadPtr (指针, 4 ) = 0 ) 置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0)置入代码 ({ 139, 77, 8, 138, 69, 12, 136, 1, 201, 194, 8, 0 })返回 (假)
|