标题:代码解释 ,求助???
只看楼主
鸿硕
Rank: 5Rank: 5
来 自:北京海淀
等 级:职业侠客
帖 子:211
专家分:309
注 册:2009-10-11
结帖率:85.71%
已结贴  问题点数:14 回复次数:5 
代码解释 ,求助???
        《一》int Height=this.pictureBox1.Image.Height;
            int Width=this.pictureBox1.Image.Width;
            Bitmap bitmap=new Bitmap(Width,Height);
            Bitmap MyBitmap=(Bitmap)this.pictureBox1.Image;
            Color pixel;
            for(int x=1;x<Width;x++)
            {
                for(int y=1;y<Height;y++)
                {
                    int r,g,b;
                    pixel=MyBitmap.GetPixel(x,y);
                    r=255-pixel.R;
                    g=255-pixel.G;
                    b=255-pixel.B;
                    bitmap.SetPixel(x,y,Color.FromArgb(r,g,b));
                }
            }
《二》  int iWidth=this.pictureBox1.Width;
            int iHeight=this.pictureBox1.Height;
            Graphics g=this.pictureBox1.CreateGraphics();
            g.Clear(Color.Gray);
            for(int y=0;y<iHeight;y++)
            {
                g.DrawImage(MyBitmap,0,0,iWidth,y);
            }   
这些代码是啥意思呀??我不明白···,请大家帮助一下,最好详细一些,毕竟我是不明白的···
搜索更多相关主题的帖子: 解释 代码 
2009-11-03 17:40
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
得分:7 
int Height=this.pictureBox1.Image.Height;定义一个INT类型变量,初始化为图片框控件中图像的高度
            int Width=this.pictureBox1.Image.Width;定义一个INT类型变量,初始化为图片框控件中图像的宽度
            Bitmap bitmap=new Bitmap(Width,Height);建立一个位图对像,这个位图的大小为上面两个变量
            Bitmap MyBitmap=(Bitmap)this.pictureBox1.Image;将image对像类型转换为bitmap对像
            Color pixel;定义一个颜色变量
            for(int x=1;x<Width;x++)
            {
                for(int y=1;y<Height;y++)
                {
                    int r,g,b;
                    pixel=MyBitmap.GetPixel(x,y);
                    r=255-pixel.R;
                    g=255-pixel.G;
                    b=255-pixel.B;
                    bitmap.SetPixel(x,y,Color.FromArgb(r,g,b));循环中的语句是依次读取每个像素,然后用255-相应色彩的RGB值,再以新颜色填冲图像(什么效果呢?)
                }
            }

QQ:81704464
2009-11-03 17:55
鸿硕
Rank: 5Rank: 5
来 自:北京海淀
等 级:职业侠客
帖 子:211
专家分:309
注 册:2009-10-11
得分:0 
先谢谢你的解释···
那一个呢???
这一个我试过了,是一种
反色的效果
看上去不咋好看!但效果挺明显的
呵呵···

点滴产生差距
时间创造奇迹
2009-11-03 18:29
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
得分:5 
int iWidth=this.pictureBox1.Width;
 int iHeight=this.pictureBox1.Height;这两句上面说过了~~
            Graphics g=this.pictureBox1.CreateGraphics();以picturebox1控件创建画板,以在上面画图
            g.Clear(Color.Gray);清空图像并以gray色填充整个绘图区
            for(int y=0;y<iHeight;y++)
            {
                g.DrawImage(MyBitmap,0,0,iWidth,y);
            }    方法drawimage()有很多种重载,具体到这里是指定位置并且按指定大小绘制指定的图像,参数0,0是代表要绘 制图像的左上角的顶点,iwidth,y代表长宽分别以这两个参数来设定。这个循环,个人认为是为了实现一种图像向下拉开显示的效果。

QQ:81704464
2009-11-03 19:27
鸿硕
Rank: 5Rank: 5
来 自:北京海淀
等 级:职业侠客
帖 子:211
专家分:309
注 册:2009-10-11
得分:0 
谢谢···


点滴产生差距
时间创造奇迹
2009-11-04 09:22
domon
Rank: 3Rank: 3
来 自:河南
等 级:论坛游侠
帖 子:92
专家分:191
注 册:2009-10-26
得分:2 
支持下

希望,是走出来的!!!
2009-11-04 13:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290895-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.087242 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved