ImageList如何保持图片比例显示?

redcn2004 2012-09-25 04:50:03
如:原图片大小:200*160,ImageList的size大小为:100*100。


最终显示出来的图片希望显示为:100*80,并居中显示。

即图片按照比例缩小并显示。

请问有什么好办法?
...全文
386 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhddzz 2012-09-25
  • 打赏
  • 举报
回复
不都说了吗,
缩放好再放进ImageList去
熙风 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:

C# code

图片等比缩放,不会失真,设置picturebox控件的sizemode属性为CenterImage 居中显示

public static Image GetPicBySize(Image image, int width, int height)
{
int picWidth = image.Width;
……


我的是放……
[/Quote]

你怎么显示的?
redcn2004 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

C# code

图片等比缩放,不会失真,设置picturebox控件的sizemode属性为CenterImage 居中显示

public static Image GetPicBySize(Image image, int width, int height)
{
int picWidth = image.Width;
……
[/Quote]

我的是放到imagelist中,而不是PictureBox中
redcn2004 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我都是缩放好了再放进去
特别是遇到比ImageList小的图片,
放进去被放大后真是惨不忍睹
[/Quote]

对,我就是碰到这种问题了。如果比size小,会被放大
熙风 2012-09-25
  • 打赏
  • 举报
回复
  
图片等比缩放,不会失真,设置picturebox控件的sizemode属性为CenterImage 居中显示

public static Image GetPicBySize(Image image, int width, int height)
{
int picWidth = image.Width;
int picHeight = image.Height;

if (picWidth < width && picHeight < width)
{
width = picWidth;
height = picHeight;
}
else if (picWidth / picHeight > width / height)
{
height = width * picHeight / picWidth;
}
else
{
width = height * picWidth / picHeight;
}

Bitmap thumb = new Bitmap(width, height);
using (Graphics g_thumb = Graphics.FromImage(thumb))
{
g_thumb.InterpolationMode = InterpolationMode.HighQualityBicubic;
g_thumb.DrawImage(image, 0, 0, width, height);
}
return (Image)thumb;
}
bdmh 2012-09-25
  • 打赏
  • 举报
回复
imagelist设为100*80看看,真没这么玩过
hhddzz 2012-09-25
  • 打赏
  • 举报
回复
我都是缩放好了再放进去
特别是遇到比ImageList小的图片,
放进去被放大后真是惨不忍睹

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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