GdipGetImageGraphicsContext 这个函数在C#中对应啥函数呢

laviewpbt 2012-10-30 10:14:59

我以前在VB6中调用GDI+的相关函数,对索引色进行相关处理。

GdipCreateBitmapFromScan0 ImgWizard.Width, ImgWizard.Height, ImgWizard.Stride, PixelFormat, BYVAL ImgWizard.Pointer, GdipSrcImg
GdipCreateBitmapFromScan0 NewImgWizard.Width, NewImgWizard.Height, NewImgWizard.Stride, PixelFormat, BYVAL NewImgWizard.Pointer, GdiDestImg
IF ImgWizard.BitCount<=8 THEN
GdiPalette.Flags=%PaletteFlags.PaletteFlagsHasAlpha
GdiPalette.Count=ImgWizard.PaletteSize
CopyMemory GdiPalette.Entries(0),BYVAL ImgWizard.PaletteAddress,ImgWizard.PaletteSize*4
GdipSetImagePalette GdipSrcImg, GdiPalette
GdipSetImagePalette GdiDestImg, GdiPalette
END IF
GdipGetImageGraphicsContext GdiDestImg,Graphics
GdipDrawImageRectRectI Graphics,GdipSrcImg,0,0,NewImgWizard.Width,NewImgWizard.Height,0,0,ImgWizard.Width,ImgWizard.Height,2, 0, 0, 0
GdipDeleteGraphics Graphics
GdipDisposeImage GdipSrcImg
GdipDisposeImage GdiDestImg



其中用到了GdipGetImageGraphicsContext 函数,并且是调用成功的。

在C#中 Graphics.FromImage却无法从索引图像中创建Graphics,这样后续的GdipDrawImageRectRectI 就无法正确使用了,请问有什么诀窍吗?

...全文
265 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧