zoukankan      html  css  js  c++  java
  • c# winform 应用编程代码总结 4

    14、提取并显示文件包含的图标

            [System.Runtime.InteropServices.DllImport("shell32.dll")]
            private static extern int ExtractIconEx(string lpszFile,int nIconIndex,ref IntPtr phiconLarge,ref IntPtr phiconSmall,int nIcons);
            [System.Runtime.InteropServices.DllImport("user32.dll")]
            private static extern int DrawIcon(IntPtr hdc, int x,int y,IntPtr hIcon);
            [System.Runtime.InteropServices.DllImport("user32")]
            private static extern IntPtr GetDC(IntPtr hwnd);

            private void button1_Click(object sender, System.EventArgs e)
            {
                if (this.openFileDialog1.ShowDialog()==DialogResult.OK)
                {
                    this.Refresh();
                    IntPtr Large, Small;
                    int i,nIcons;
                    Large=(IntPtr)0;
                    Small=(IntPtr)0;
                    nIcons=ExtractIconEx(this.openFileDialog1.FileName,-1,ref Large,ref Small,1);
                    for(i=0;i<nIcons;i++)
                    {
                        ExtractIconEx(this.openFileDialog1.FileName,i,ref Large,ref Small,1);
                        DrawIcon(GetDC(this.Handle),(i/4)*40,(i%4)*40,Large);                    
                    }
                }
            }

    15、抓取并显示程序中的鼠标

            Graphics g;
            private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
            {
                Cursor.Draw(g,new Rectangle(e.X,e.Y,10,10));
            }

            private void Form1_Load(object sender, System.EventArgs e)
            {
                g=this.CreateGraphics();
            }

    16、图像的局部放大

            Cursor myCursor=new Cursor("..\\..\\MAGNIFY.CUR");
            Graphics g;
            Image myImage;

            private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
            {
                Cursor.Current=Cursors.Default;
            }

            private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
            {
                Cursor.Current=myCursor;
                Rectangle sourceRectangle = new Rectangle(e.X-10,e.Y-10,20,20);
                Rectangle destRectangle1 =new Rectangle(300,120,80,80);
                g.DrawImage(myImage,destRectangle1,sourceRectangle,GraphicsUnit.Pixel);
            }

            private void Form1_Load(object sender, System.EventArgs e)
            {
                g=this.pictureBox1.CreateGraphics();
                myImage=this.pictureBox1.Image;
            }

    17、对图像进行浮雕处理

            Bitmap bmp;
            private void button1_Click(object sender, System.EventArgs e)
            {
                if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
                {
                    bmp=new Bitmap(this.openFileDialog1.FileName);
                    for (int i=0;i<bmp.Width-1;i++)
                    {
                        for(int j=0;j<bmp.Height-1;j++)
                        {
                            Color Color1=bmp.GetPixel(i,j);
                            Color Color2=bmp.GetPixel(i+1,j+1);
                            int red=Math.Abs(Color1.R-Color2.R+128);
                            int green=Math.Abs(Color1.G-Color2.G+128);
                            int blue=Math.Abs(Color1.B-Color2.B+128);
                            //颜色处理
                            if(red>255)        red=255;
                            if(red<0)        red=0;

                            if(green>255)    green=255;
                            if(green<0)        green=0;

                            if(blue>255)    blue=255;
                            if(blue<0)        blue=0;
                            bmp.SetPixel(i,j,Color.FromArgb(red,green,blue));
                        }
                    }
                    this.pictureBox1.Image=bmp;
                }
            }

            private void Form1_Load(object sender, System.EventArgs e)
            {
                this.pictureBox1.SizeMode=PictureBoxSizeMode.StretchImage;
            }

  • 相关阅读:
    MSSQL查询表占用空间
    JS字典
    匹配是否指定主域名
    站点文件删除不了提示权限不足
    事件委托发布-订阅
    微信中打开第三方应用
    以Spring Bean配置文件为例解释 xmlns,xmlns:xsi,xsi:schemaLocation
    Hdfs的读出机制
    Hdfs的写入机制
    spring常用注解的作用
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197282.html
Copyright © 2011-2022 走看看