ex8.用height、width属性改变大小

10 篇文章 0 订阅

ex8.用height、width属性改变大小

改变控件尺寸
本例演示通过height属性设置控件的高度,通过width属性设置控件的宽度。

Option Explicit

Private Sub Command1_Click()
Image1.Width = Image1.Width / 0.8
Image1.Height = Image1.Height / 0.8
End Sub

Private Sub Command2_Click()
Text1.Width = Text1.Width + 100
End Sub

Private Sub Command3_Click()
Image1.Width = Image1.Width * 0.8
Image1.Height = Image1.Height * 0.8
End Sub

Private Sub Command4_Click()
Text1.Width = Text1.Width - 100
End Sub

Private Sub Form_Load()
Set Image1.Picture = LoadPicture(App.Path & "\rains.gif")
End Sub

? 该例演示过程中,改变 Image控件的尺寸时,内部加载的picture对象尺寸并未改变,试了下发现不能用其 height/width属性来改变大小,那怎么才能改变 picture对象的尺寸?

原来image控件可以通过设置属性stretch = True来使image加载的图片自动适应控件的尺寸。
 ̄□ ̄||


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化代码,使用using块 参考 public bool SaveCheckPicture(string path, string fileName, Image img, int dpi = 600, int maxWidth = 0, int maxHeight = 0,out string msg ) { msg = string.Empty; try { // 计算缩放比例 float scale = (float)dpi / img.HorizontalResolution; // 计算缩放后的尺寸 int width = (int)(img.Width * scale); int height = (int)(img.Height * scale); // 如果指定了最大宽度或最大高度,则按比例缩放 //if (maxWidth > 0 && width > maxWidth) //{ // height = (int)(height * ((float)maxWidth / width)); // width = maxWidth; //} //if (maxHeight > 0 && height > maxHeight) //{ // width = (int)(width * ((float)maxHeight / height)); // height = maxHeight; //} // 创建缩放后的位图 Bitmap bmp = new Bitmap(width, height); // 设置位图的DPI bmp.SetResolution(dpi, dpi); // 创建绘图对象 Graphics g = Graphics.FromImage(bmp); g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; // 绘制缩放后的图片 g.DrawImage(img, new Rectangle(0, 0, width, height)); // 保存缩放后的图片 //bmp.Save(Path.Combine(path, fileName), System.Drawing.Imaging.ImageFormat.Jpeg); MemoryStream stream = new MemoryStream(); bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] data = stream.ToArray(); // 释放资源 stream.Dispose(); g.Dispose(); bmp.Dispose(); img.Dispose(); return SaveCheckPicture(path, fileName, data, out msg); // return true; } catch (Exception ex) { msg = ex.ToString(); return false; } }
最新发布
05-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值