GDI+ 学习记录(31): 图像颜色变换(TGPImageAttributes)
2008-02-06 10:41
543 查看
//正常显示图片, 没有变换 uses GDIPAPI, GDIPOBJ; procedure TForm1.FormPaint(Sender: TObject); var g: TGPGraphics; img: TGPImage; begin g := TGPGraphics.Create(Canvas.Handle); img := TGPImage.Create('c:\temp\test.png'); {测试文件要存在} g.DrawImage(img, 0, 0, img.GetWidth, img.GetHeight); img.Free; g.Free; end; //效果图:
//添加颜色变换 uses GDIPAPI, GDIPOBJ; procedure TForm1.FormPaint(Sender: TObject); var g: TGPGraphics; img: TGPImage; imgAtt: TGPImageAttributes; const ColorMatrix: TColorMatrix = ( (1.0, 0.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 0.0, 1.0, 0.0), (1.0, 0.0, 0.0, 0.0, 1.0)); begin g := TGPGraphics.Create(Canvas.Handle); img := TGPImage.Create('c:\temp\test.png'); {测试文件要存在} imgAtt := TGPImageAttributes.Create; imgAtt.SetColorMatrix(colorMatrix, ColorMatrixFlagsDefault, ColorAdjustTypeDefault); g.DrawImage( img, MakeRect(0,0,img.GetWidth,img.GetHeight), 0, 0, img.GetWidth, img.GetHeight, UnitPixel, imgAtt); imgAtt.Free; img.Free; g.Free; end; //效果图:
这个话题还有很多内容, 先弄这个例子算是给 M. Rokkaei 的回答.
相关文章推荐
- GDI+ 学习记录(31) 图像颜色变换(TGPImageAttributes)
- GDI+ 学习记录(28) 图像颜色的数据格式 - PixelFormat
- GdiPlus[59]: 图像(十一) IGPImageAttributes 之颜色矩阵(TGPColorMatrix)变换
- GDI+ 学习记录(28): 图像颜色的数据格式 - PixelFormat
- GDI+ 学习记录(26): 显示图像 - Image
- GDI+ 学习记录(21) 颜色
- GDI+ 学习记录(25) 变换 - Transform
- GDI+ 学习记录(21): 颜色
- GDI+ 学习记录(25): 变换 - Transform
- GDI+ 学习记录(26) 显示图像 - Image
- 图像检索服务器编写问题记录——SIFT尺度不变特征变换匹配算法学习
- GDI+ 学习记录(26): 显示图像 - Image
- Opencv学习笔记(三):图像的使用与操作_颜色空间的变换
- opencv学习笔记-2,图像颜色空间转换
- [学习记录][css]颜色与背景
- GDI+学习记录之输出文本
- photoshop 学习之路------像素、图像颜色模式
- 关于图像上传的学习记录
- GDI+ 学习记录(1) 画笔 - Pen
- GDI+ 学习记录(4) 画笔对齐