第一个窗体的图片如何传递到第二个窗体

qq976542596 2015-05-11 08:50:42
并进行柔化处理
这是第一个窗体的代码
 
OpenFileDialog openFile = new OpenFileDialog();
if (openFile.ShowDialog() == DialogResult.OK)
{
string path = openFile.FileName;
Image image = Image.FromFile(path);
this.pictureBox1.Image = image;
}
...全文
260 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2015-05-12
  • 打赏
  • 举报
回复
本拉灯 2015-05-12
  • 打赏
  • 举报
回复
。。。E。构造传递。。
道玄希言 2015-05-11
  • 打赏
  • 举报
回复
你是想在第二个窗体上,显示的时候, 视觉效果好点吧 如果是想图片显示时大小的调整, 你设置第二个窗体上的 pictureBox 图片显示属性 Stretch 让图片自动调整大小满足你显示框就可以了 如果你是想调整图片原始大小, 可以参考以下代码 /// <summary> /// 生成缩略图 /// </summary> /// <param name="serverImagePath">图片地址</param> /// <param name="thumbnailImagePath">缩略图地址</param> /// <param name="width">图片宽度</param> /// <param name="height">图片高度</param> /// <param name="p"></param> public static void GetThumbnail(string serverImagePath, string thumbnailImagePath, int width, int height) { System.Drawing.Image serverImage = System.Drawing.Image.FromFile(serverImagePath); //画板大小 int towidth = width; int toheight = height; //缩略图矩形框的像素点 int x = 0; int y = 0; int ow = serverImage.Width; int oh = serverImage.Height; if (ow > oh) { toheight = serverImage.Height * width / serverImage.Width; } else { towidth = serverImage.Width * height / serverImage.Height; } //新建一个bmp图片 System.Drawing.Image bm = new System.Drawing.Bitmap(width, height); //新建一个画板 System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bm); //设置高质量插值法 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充 g.Clear(System.Drawing.Color.White); //在指定位置并且按指定大小绘制原图片的指定部分 g.DrawImage(serverImage, new System.Drawing.Rectangle((width - towidth) / 2, (height - toheight) / 2, towidth, toheight), 0, 0, ow, oh, System.Drawing.GraphicsUnit.Pixel); try { //以jpg格式保存缩略图 bm.Save(thumbnailImagePath, System.Drawing.Imaging.ImageFormat.Jpeg); } catch (System.Exception e) { throw e; } finally { serverImage.Dispose(); bm.Dispose(); g.Dispose(); } }
qq976542596 2015-05-11
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
3L已经回复
引用 5 楼 qq976542596 的回复:
[quote=引用 3 楼 yangb0803 的回复:] 重写你第二个窗体的构造函数, 添加 参数 (Image img) 在第一个窗体new 第二个窗体的时候,将 image 传过去。
谢谢,已经弄好了,如何将传递的图片进行重新调整大小[/quote] 求教
qq976542596 2015-05-11
  • 打赏
  • 举报
回复
引用 3 楼 yangb0803 的回复:
重写你第二个窗体的构造函数, 添加 参数 (Image img) 在第一个窗体new 第二个窗体的时候,将 image 传过去。
谢谢,已经弄好了,如何将传递的图片进行重新调整大小
  • 打赏
  • 举报
回复
3L已经回复
道玄希言 2015-05-11
  • 打赏
  • 举报
回复
重写你第二个窗体的构造函数, 添加 参数 (Image img) 在第一个窗体new 第二个窗体的时候,将 image 传过去。
qq976542596 2015-05-11
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
winform 可以通过构造函数或者public属性传递啊,柔化那就需要去找相关代码了http://www.cnblogs.com/bomo/archive/2013/03/01/2939453.html
很感谢你,我是新手,能说说怎么写构造函数或传递么?
  • 打赏
  • 举报
回复
winform 可以通过构造函数或者public属性传递啊,柔化那就需要去找相关代码了http://www.cnblogs.com/bomo/archive/2013/03/01/2939453.html

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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