使用GDI+制作反色图片
2006-11-30 17:38
309 查看
近来研究了一下GDI+绘图的基本操作,也学到了不少东西
绘制灰色图片:
System.Drawing.Bitmap bm = new System.Drawing.Bitmap
(this.pictureBox1.Image.Width,
this.pictureBox1.Image.Height,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Bitmap bmOriginal = (Bitmap)this.pictureBox1.Image;
for(int y=0;y<bmOriginal.Height;y++)
{
for(int x=0;x<bmOriginal.Width;x++)
{
Color c=bmOriginal.GetPixel(x,y);
int red,green,blue;
red = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
green = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
blue = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
bm.SetPixel(x,y,Color.FromArgb(red,green,blue));
}
}
this.pictureBox1.Image = bm;
绘制反色图片:
System.Drawing.Bitmap bm = new System.Drawing.Bitmap
(this.pictureBox1.Image.Width,
this.pictureBox1.Image.Height,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Bitmap bmOriginal = (Bitmap)this.pictureBox1.Image;
for(int y=0;y<bmOriginal.Height;y++)
{
for(int x=0;x<bmOriginal.Width;x++)
{
Color c=bmOriginal.GetPixel(x,y);
int red,green,blue;
red = (int)(255-c.R);
green = (int)(255-c.G);
blue = (int)(255-c.B);
}
bm.SetPixel(x,y,Color.FromArgb(red,green,blue));
}
this.pictureBox1.Image = bm;
在使用Graphics的DrawImage方法时,graphics使用Graphics.FromImage(Image)获得,既可绘制Image.
还有许多技巧,具体参考:http://www.bobpowell.net/faqmain.htm和codeproject上的一些文章和代码
绘制灰色图片:
System.Drawing.Bitmap bm = new System.Drawing.Bitmap
(this.pictureBox1.Image.Width,
this.pictureBox1.Image.Height,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Bitmap bmOriginal = (Bitmap)this.pictureBox1.Image;
for(int y=0;y<bmOriginal.Height;y++)
{
for(int x=0;x<bmOriginal.Width;x++)
{
Color c=bmOriginal.GetPixel(x,y);
int red,green,blue;
red = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
green = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
blue = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
bm.SetPixel(x,y,Color.FromArgb(red,green,blue));
}
}
this.pictureBox1.Image = bm;
绘制反色图片:
System.Drawing.Bitmap bm = new System.Drawing.Bitmap
(this.pictureBox1.Image.Width,
this.pictureBox1.Image.Height,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Bitmap bmOriginal = (Bitmap)this.pictureBox1.Image;
for(int y=0;y<bmOriginal.Height;y++)
{
for(int x=0;x<bmOriginal.Width;x++)
{
Color c=bmOriginal.GetPixel(x,y);
int red,green,blue;
red = (int)(255-c.R);
green = (int)(255-c.G);
blue = (int)(255-c.B);
}
bm.SetPixel(x,y,Color.FromArgb(red,green,blue));
}
this.pictureBox1.Image = bm;
在使用Graphics的DrawImage方法时,graphics使用Graphics.FromImage(Image)获得,既可绘制Image.
还有许多技巧,具体参考:http://www.bobpowell.net/faqmain.htm和codeproject上的一些文章和代码
相关文章推荐
- 如何使用GDI+制作圆形图片(类似QQ头像)
- Android .9.png图片的制作与使用
- 使用GIMP制作图片
- VC中使用GDI+在内存转换图片类型
- VC中使用GDI+实现为按钮加载Png图片
- 使用GDI+ 缩放图片
- 使用GDI+和CImage类加载png图片
- VC2010 MFC 使用图片制作不规则外形窗口
- 使用 CSS3 制作圆角按钮,无需图片
- NGUI使用教程(3) 使用外部图片制作Atlas(图集)
- 使用JS制作一个鼠标可拖的DIV(三)——移动带图片DIV
- 制作html网页时如何使用CSS使背景图片拉伸(填充)
- 小试牛刀:使用EasyPaintToolSAI来制作动漫图片
- Android draw9patch 图片制作与使用
- Android入门(36)——第十三章 使用Gallery和ImageSwitcher制作图片浏览器
- python中使用PIL制作并验证图片验证码
- 加载GDI+,并且使用GDI+制作png贴图
- 使用Axure制作无限循环展示图片效果
- Android美工坊--.9.png格式图片的制作与使用--1
- 如何创建静态库 与 使用静态库联调、制作静态库加载不上图片的问题