精华内容
下载资源
问答
  • c# winform pictureBox

    千次阅读 2011-10-13 21:27:05
    1: c# winform pictureBox如何突出显示,放大并给pictureBox边框变色 PictureBox old = null;  private void pictureBox2_Click(object sender, EventArgs

    1:

    c# winform pictureBox如何突出显示,放大并给pictureBox边框变色

    PictureBox old = null;
            private void pictureBox2_Click(object sender, EventArgs e)
            {
                PictureBox p = (PictureBox)sender;
                if (p == old) return;

                if (old != null)
                {
                    old.Width -= 10;
                    old.Height -= 10;
                    old.Location = new Point(old.Location.X + 5, old.Location.Y + 5);
                }

                old = p;
                p.Width += 10;
                p.Height += 10;
                p.Location = new Point(p.Location.X - 5, p.Location.Y - 5);
                p.BringToFront();
              

            }

            private void pictureBox2_Paint(object sender, PaintEventArgs e)
            {
                PictureBox p = (PictureBox)sender;
                if (p == old)
                {
                    Pen pp = new Pen(Color.Red);
                    e.Graphics.DrawRectangle(pp, e.ClipRectangle.X, e.ClipRectangle.Y, e.ClipRectangle.X + e.ClipRectangle.Width - 1, e.ClipRectangle.Y + e.ClipRectangle.Height - 1);
                }
            }

    转载:http://heisetoufa.iteye.com/blog/227802

    2:

    1. /* 
    2.  * 主要是对 PictureBox 的操作 
    3.  * 截取屏幕图像 
    4.  * 获取屏幕指定像素颜色 
    5.  * 旋转和翻转图片 
    6.  * 虚拟选择框绘制 
    7.  * 控件绘图 
    8.  *  
    9.  * 为了方便,所有步骤在一个方法中完成 
    10.  * 创建了一个新的 Form 对象 
    11.  * 在该 Form 中添加了一个 PictureBox 对象 
    12. */  
    13. // 在 Form_Load 中调用   
    14. private void CSDNSample_PictureBoxHandle()  
    15. {  
    16.     // 复制屏幕,创建原始图片   
    17.     Bitmap image = new Bitmap(  
    18.         Screen.PrimaryScreen.Bounds.Width,  
    19.         Screen.PrimaryScreen.Bounds.Height);  
    20.     using (Graphics g = Graphics.FromImage(image))  
    21.     {  
    22.         g.CopyFromScreen(  
    23.             0, 0, 0, 0,  
    24.             image.Size,  
    25.             CopyPixelOperation.SourceCopy);  
    26.         g.Save();  
    27.     }  
    28.     // 创建 PictureBox 对象   
    29.     PictureBox box = new PictureBox();  
    30.     box.Location = new Point(0, 0);  
    31.     box.SizeMode = PictureBoxSizeMode.StretchImage;  
    32.     box.Size = image.Size;  
    33.     box.Image = image;  
    34.     // 创建 Form 对象   
    35.     Form f = new Form();  
    36.     f.AutoScroll = true// 自动滚动   
    37.     f.Size = new Size(800, 600);  
    38.     // From_FormClosed 用于释放资源   
    39.     f.FormClosed += (sender, e) => { image.Dispose(); };  
    40.     // From_MouseWheel 用于缩放图片   
    41.     // 由于滚动条和缩放同时进行 会有点不爽   
    42.     // 建议右键菜单或 Control/Shift/Alt + 鼠标滚轮组合实现   
    43.     f.MouseWheel += (sender, e) =>  
    44.     {  
    45.         if (e.Delta > 0)  
    46.         {  
    47.             // 限制放大效果 600% 以内   
    48.             if (box.Width / image.Width < 6)  
    49.             {  
    50.                 box.Size = new Size(  
    51.                     (int)(box.Width * 1.1),  
    52.                     (int)(box.Height * 1.1));  
    53.             }  
    54.         }  
    55.         else  
    56.         {  
    57.             // 限制缩小效果 15% 以内   
    58.             if ((float)box.Width / (float)image.Width > 0.15f)  
    59.             {  
    60.                 box.Size = new Size(  
    61.                     (int)(box.Width * 0.9),  
    62.                     (int)(box.Height * 0.9));  
    63.             }  
    64.         }  
    65.     };  
    66.     // 用于记录鼠标按下时的位置   
    67.     Point pt = Point.Empty;  
    68.     // PictureBox_MouseDown 用于记录鼠标位置 绘制屏幕十字标记   
    69.     box.MouseDown += (sender, e) =>  
    70.     {  
    71.         if (e.Button == MouseButtons.Left)  
    72.         {  
    73.             pt = e.Location;  
    74.             // Cursor.Position 获取全局鼠标位置(屏幕位置)   
    75.             // CopyFromScreen 拷贝 1 个屏幕像素并生成图片   
    76.             // Bitmap.GetPixel 获取图片上指定像素的颜色   
    77.             using (Bitmap bitmap = new Bitmap(1, 1))  
    78.             {  
    79.                 using (Graphics g = Graphics.FromImage(bitmap))  
    80.                 {  
    81.                     g.CopyFromScreen(  
    82.                         Cursor.Position.X, Cursor.Position.Y, 0, 0,   
    83.                         bitmap.Size, CopyPixelOperation.SourceCopy);  
    84.                     g.Save();  
    85.                 }  
    86.                 // 设置窗口文本   
    87.                 // 显示鼠标当前位置和鼠标位置的像素颜色   
    88.                 Color color = bitmap.GetPixel(0, 0);  
    89.                 f.Text = string.Format("Pos: {0}, Color: {1}",  
    90.                     e.Location, color);  
    91.             }  
    92.             using (Graphics g = Graphics.FromHwnd(box.Handle))  
    93.             {  
    94.                 using (Pen p = new Pen(Color.IndianRed, 3))  
    95.                 {  
    96.                     g.DrawLine( // 画十字图形的 X 轴   
    97.                         p, new Point(e.X - 10, e.Y), new Point(e.X + 10, e.Y));  
    98.                     g.DrawLine( // 画十字图形的 Y 轴   
    99.                         p, new Point(e.X, e.Y - 10), new Point(e.X, e.Y + 10));  
    100.                 }  
    101.             }  
    102.         }  
    103.     };  
    104.     // PictureBox_MouseUp 用于清除鼠标位置信息和屏幕十字标记   
    105.     box.MouseUp += (sender, e) =>  
    106.     {  
    107.         if (e.Button == MouseButtons.Left)  
    108.         {  
    109.             pt = Point.Empty;  
    110.             box.Refresh();  
    111.         }  
    112.     };  
    113.     // PictureBox_MouseMove 用于绘制选择框   
    114.     box.MouseMove += (sender, e) =>  
    115.     {  
    116.         // 设置窗口文本 显示鼠标当前位置   
    117.         f.Text = string.Format("Pos: {0}", e.Location);  
    118.         if (e.Button == MouseButtons.Left && pt != Point.Empty)  
    119.         {  
    120.             using (Graphics g = Graphics.FromHwnd(box.Handle))  
    121.             {  
    122.                 using (Pen p = new Pen(Color.IndianRed, 1))  
    123.                 {  
    124.                     // pt1 用于判断鼠标是否离开了 PictureBox   
    125.                     // 如果离开则重设 pt1   
    126.                     // 如此可保证被绘制的矩形一定出现在 PictureBox 中   
    127.                     Point pt1 = e.Location;  
    128.                     if (pt1.X < 0) pt1.X = 0;  
    129.                     if (pt1.Y < 0) pt1.Y = 0;  
    130.                     if (pt1.X > box.Width - 1) pt1.X = box.Width - 1;  
    131.                     if (pt1.Y > box.Height - 1) pt1.Y = box.Height - 1;  
    132.                     box.Refresh(); // 不刷新的话 会出现N个矩形   
    133.                     p.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;  
    134.                     g.DrawPolygon(p, new Point[] {  
    135.                         pt,  
    136.                         new Point (pt1.X, pt.Y),  
    137.                         pt1,  
    138.                         new Point(pt.X, pt1.Y) });  
    139.                 }  
    140.             }  
    141.         }  
    142.     };  
    143.     // 记录当前翻转样式   
    144.     int rotate = 0;  
    145.     // PictureBox_MouseDoubleClick 用于翻转图片   
    146.     box.MouseDoubleClick += (sender, e) =>  
    147.     {  
    148.         if (e.Button == MouseButtons.Left)  
    149.         {  
    150.             // 由于是对 PictureBox 进行的操作   
    151.             // 图片只是进行了翻转,但大小未变   
    152.             // 所以需要通过图片的某个边判断   
    153.             // 图片是否因翻转而导致 Width / Height 互换   
    154.             int imgWidth = box.Image.Width;  
    155.             box.Image.RotateFlip((RotateFlipType)rotate);  
    156.             if (++rotate > 7) rotate = 0;  
    157.             if (imgWidth == box.Image.Width) return;  
    158.             box.Size = new Size(box.Height, box.Width);  
    159.         }  
    160.     };  
    161.     f.Controls.Add(box);  
    162.     f.Show();  
    163. }  

    转载:http://blog.csdn.net/qqamoon/article/details/6079697

    展开全文
  • winform中保存picturebox中的图片
  • c# winform picturebox

    2020-07-06 10:19:00
    //填满图片 pic_Close.SizeMode = PictureBoxSizeMode.StretchImage; //图片背景颜色 pic_Close.BackColor = ColorTranslator.FromHtml("#F6FAFF"); ;
    //填满图片  
    pic_Close.SizeMode = PictureBoxSizeMode.StretchImage;
    //图片背景颜色
    pic_Close.BackColor = ColorTranslator.FromHtml("#F6FAFF"); ;

     

    展开全文
  • pictureBox控件设置BackGroundImageLayout=Stretch,SizeMode=StretchImage,即可实现布满显示

    pictureBox控件设置BackGroundImageLayout=Stretch,SizeMode=StretchImage,即可实现布满显示

    展开全文
  • WinForm picturebox控件绑定BitMAP

    千次阅读 2018-04-17 16:54:50
    Bitmap bmp2 = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); pictureBox1.Image = Image.FromHbitmap(bmp2.GetHbitmap()); 

            Bitmap bmp2 = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

           pictureBox1.Image = Image.FromHbitmap(bmp2.GetHbitmap());  

    展开全文
  • PictureBox 添加圆角,圆角的大小可以自己定义,可以在VS上直接配置.
  • winform timer pictureBox

    2016-03-10 16:52:21
    winform中如何使用timer控件与pictureBox控件来控制一组图片的轮播效果呢?路过的大神
  • 增加一个PictureBox控件,Dock设置为Fill,选择一个好看的背景图片 UI界面设计如下所示: 功能实现 在Program程序入口处,加入一行代码Splasher.Show(typeof(FrmSplash)),用于显示SplashForm static class Program ...
  • 这是一个通视频的控件 开了之后有水印 怎么能把水印去掉啊
  • c# winform pictureBox显示图片,PictureBox控件的Image属性
  • C#Winformpicturebox控件加载图片后无法释放
  • c#如何打印picturebox里的图片,winform怎样打印picturebox里的图片 第一步: 拖一个printDocument控件到界面。打印按钮的代码:C# CODE: private void button1_Click(object sender, EventArgs e)//执行打印 { ...
  • byte[] b = (byte[])i["Face1"];//这里能从数据库得到值 b为长度13的字节 MemoryStream my = new MemoryStream(b); Image myImage = Image.FromStream(my);//这里会报错 参数无效 ... this.picDetainees.Image = ...
  • ///  /// 翻转90度  ///  ///  ///  private void btn_imgLeft_Click(object sender, EventArgs e)  {  picMain.Image = ImageRotate.RotateImg(this
  • 做的是一个关于管理个人信息的winform项目,其中有利用picturebox上传个人照片并保存照片路径到数据库,第一次选择照片可以成功上传和显示,但是如果要做修改照片或者如果第一次选错了第二次选择时不成功。...
  • winformpicturebox自适应图片大小 picturebox控件共有两种载入图片方式,分别为: pictureBox1.BackgroundImage = Image,pictureBox1.load(url) 为使加载的图片自使用控件尺寸,可以分别对...
  • WINFORM 设置PICTUREBOX背景透明

    千次阅读 2017-07-13 14:25:29
    pictureBox2.BackColor = Color.Transparent; pictureBox2.Parent = 父容器
  • WPF和Winformpicturebox图片局部放大

    千次阅读 2014-02-13 10:13:50
    WPF和Winformpicturebox图片局部放大
  • winform中按照任意角度旋转pictureBox中的image。一个简单的demo示例,可以根据自己的需求去改。
  • PictureBox 的 OnPaint 方法继承自 Control。 当调用 Refresh 方法(同样继承自 Control)时, 会自动调用 OnPaint 方法,所以不需要在 designer.cs文件中添加这一事件。
  • c# winformpicturebox 上进行橡皮筋绘制,能画出所需直线,且不清除图片背景
  • 本文实例讲述了WinForm中实现picturebox自适应图片大小的方法。分享给大家供大家参考,具体如下: picturebox控件共有两种载入图片方式,分别为: pictureBox1.BackgroundImage = Image,pictureBox1.load(url) 为使...
  • winform pictureBox后台显示图片

    万次阅读 2013-03-05 18:09:02
     pictureBox1.BackgroundImage = Image.FromFile(@"Resources\bg.gif");  或是 pictureBox1.BackgroundImage = new System.Drawing.Bitmap(@"Resources\bg.gif"); 注意:Resources文件夹必须放在bin\Debug
  • 这里分背景图和直接显示的图片的布局 背景图的布局为BackgroundImageLayout设置为strecth即为自动拉伸 图片的布局为SizeMode 设置为StretchImage即自动拉伸 转载于:...
  • picturebox里面的图片上,用drawline在picturebox图像上随意划线,最后我要能保存下的图片只是我画笔画的线和圈的区域,底图要是透明的,用bitmap?啥操作呢,菜鸡求解 ps:(类似于picturebox上有两个图层,下面...
  • 在最近的一个项目中调用摄像头,显示在pictureBox控件中,需要实现全屏的功能,我这里实现了双击pictureBox全屏,并且双击pictureBox退出全屏。 1、实现窗体Form全屏显示 方法:在全屏方法中进行如下操作 this....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 766
精华内容 306
关键字:

pictureboxwinform