关于C#中如何实现图片的缩略显示? 关于C#中如何实现图片的缩略显示? 就是像ACDSee右边栏的效果, 遍历硬盘上的图片文件, 并生成缩略图的显示效果.在C#中应该如何实现? 是用哪个控件? 还是自己编写控件? 望大侠们指教!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MSDN上的代码:Image image = new Bitmap("Compass.bmp");Image pThumbnail = image.GetThumbnailImage(100, 100, null, new IntPtr());e.Graphics.DrawImage( pThumbnail, 10, 10, pThumbnail.Width, pThumbnail.Height); public bool ThumbnailCallback(){return false;}public void Example_GetThumb(PaintEventArgs e){Image.GetThumbnailImageAbort myCallback =new Image.GetThumbnailImageAbort(ThumbnailCallback);Bitmap myBitmap = new Bitmap("Climber.jpg");Image myThumbnail = myBitmap.GetThumbnailImage(40, 40, myCallback, IntPtr.Zero);e.Graphics.DrawImage(myThumbnail, 150, 75);} GetThumbnailImage方法好像不太好用吧。我记得前年做一个程序的时候,用这个方法做出来的图片很模糊。 GetThumbnailImage这个获得的缩略图质量太差! 我的问题主要是怎么能够获得很多图片的缩略显示! 如果你想把这个缩略图显示得很大,用GetThumbnailImage图像质量是不怎么样,但像ACDSEE那样的大小的质量看起来还是可以了。你看MSDN上是怎么说的:如果 Image 包含一个嵌入式缩略图像,则此方法会检索嵌入式缩略图,并将其缩放为所需大小。如果 Image 不包含嵌入式缩略图像,此方法会通过缩放主图像创建一个缩略图像。请求的缩略图像大小为 120 x 120 像素时,GetThumbnailImage 方法正常运行。如果从具有嵌入式缩略图的 Image 处请求较大的缩略图像(例如,300 x 300),则缩略图像的质量可能显著降低。通过调用 DrawImage 方法缩放主图像(而非嵌入式缩略图),则效果可能较好。LZ要很多图片的缩略图显示,那你每张图片都用一下这个方法不就行了! 大家还是没有搞明白我的意思, 我的意思是用什么控件来实现缩略显示的效果. 比如说ListView可以实现这种效果吗? 可是我看了ListView的说明, 好像是无法显示缩略图的, 只能有大图标, 小图标, 列表等显示方式. 如果我用PictureBox来将图像按照原比例来缩小显示的话, 一个还好说, 可是多了的话怎么实现? 还有缩略图下的文字说明怎么实现? 如果我说的方式可行的话, 缩略图之间, 文字之间, 图片于文字之间的距离怎么调整? 如果窗体大小变化的话, 显示效果怎么调整?以上是我的意思, 不知道大家看明白了没有? 这个效果到现在我还是没有一个好的思路来解决!望大家多给些建议! 自己顶一下, 这个问题还是没有解决! 谁知道啊?到CodeProject搜索了一下,都是C++的,谁知道C#里面怎么实现啊? 你可以构建一个ImageList,然后生成得到的缩略图加到里面ListView显示的ImageList对象我记得ListView可以显示一张图片下面是文字的格式的,你查一下 Spring.net 如何实现有构造器参数的对象实例化? 父窗体和子窗体之间的继承,高手请进 请问如何在datagridview中筛选记录? c#中 Split | 为什么把所有字符都分割了 删除文件时把session值给删了是怎么回事? 自己写的个人理财工具,有兴趣的可以看看 C#字符串处理! 招聘.NET工程师 请问c#里有象vb那样的控件数组吗 WPF按钮样式 如何用程序禁用光驱,串口,并口,USB,请各位大侠帮忙 如果在c#程序中禁用usb口的话,应该怎么做?谢谢
Image pThumbnail = image.GetThumbnailImage(100, 100, null, new IntPtr());
e.Graphics.DrawImage(
pThumbnail,
10,
10,
pThumbnail.Width,
pThumbnail.Height);
{
return false;
}
public void Example_GetThumb(PaintEventArgs e)
{
Image.GetThumbnailImageAbort myCallback =
new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap("Climber.jpg");
Image myThumbnail = myBitmap.GetThumbnailImage(
40, 40, myCallback, IntPtr.Zero);
e.Graphics.DrawImage(myThumbnail, 150, 75);
}
请求的缩略图像大小为 120 x 120 像素时,GetThumbnailImage 方法正常运行。如果从具有嵌入式缩略图的 Image 处请求较大的缩略图像(例如,300 x 300),则缩略图像的质量可能显著降低。通过调用 DrawImage 方法缩放主图像(而非嵌入式缩略图),则效果可能较好。
LZ要很多图片的缩略图显示,那你每张图片都用一下这个方法不就行了!
如果我说的方式可行的话, 缩略图之间, 文字之间, 图片于文字之间的距离怎么调整? 如果窗体大小变化的话, 显示效果怎么调整?以上是我的意思, 不知道大家看明白了没有? 这个效果到现在我还是没有一个好的思路来解决!
望大家多给些建议!
ListView显示的ImageList对象
我记得ListView可以显示一张图片下面是文字的格式的,你查一下