C#的WinForm中如何实现图片缩略显示
C#的WinForm中如何实现图片缩略显示?使用什么控件?如何设置?不要ASP.Net的,这个我知道!效果就像ACDsee右侧栏的效果,图片缩略图下可以显示文字的.谢谢两...
C#的WinForm中如何实现图片缩略显示? 使用什么控件? 如何设置?
不要ASP.Net的,这个我知道!
效果就像ACDsee右侧栏的效果,图片缩略图下可以显示文字的.
谢谢两位大侠的解答. 可是我还有一个问题, 那就是我如何给每一个图片缩略图指定横宽比例, 如果是一个定值的话, 很多图片显示的时候是比例失调的! 望两位大侠再次给个思路! 多谢! 展开
不要ASP.Net的,这个我知道!
效果就像ACDsee右侧栏的效果,图片缩略图下可以显示文字的.
谢谢两位大侠的解答. 可是我还有一个问题, 那就是我如何给每一个图片缩略图指定横宽比例, 如果是一个定值的话, 很多图片显示的时候是比例失调的! 望两位大侠再次给个思路! 多谢! 展开
2个回答
展开全部
使用ListView和ImageList控件:
ImageList的Images属性加载所需图片。
ListView的LargeImageList,StaticImageList,SmallImageList分别绑定一个ImageList(也可绑定同一个ImageList)。
ListView的Items属性点开"...",自己看吧有你想要的。
至于代码实现可参看窗体设计器生成的代码。
试试这样:
Image I; ...
imageList1.Images.Add(I.GetThumbnailImage(重定义宽度,重定义高度,某委托, IntPtr.Zero));
MSDN:
Image.GetThumbnailImage 方法
返回此 Image 的缩略图。
参数
thumbWidth
请求的缩略图的宽度(以像素为单位)。
thumbHeight
请求的缩略图的高度(以像素为单位)。
callback
一个 Image.GetThumbnailImageAbort 委托。在 GDI+ 1.0 版中不使用此委托。即便如此,也必须创建一个委托并在该参数中传递对此委托的引用。
callbackData
必须为 Zero。
返回值
表示缩略图的 Image。
备注
如果 Image 包含一个嵌入式缩略图像,则此方法会检索嵌入式缩略图,并将其缩放为所需大小。如果 Image 不包含嵌入式缩略图像,此方法会通过缩放主图像创建一个缩略图像。
请求的缩略图像大小为 120 x 120 像素时,GetThumbnailImage 方法正常运行。如果从具有嵌入式缩略图的 Image 处请求较大的缩略图像(例如,300 x 300),则缩略图像的质量可能显著降低。通过调用 DrawImage 方法缩放主图像(而非嵌入式缩略图),则效果可能较好。
ImageList的Images属性加载所需图片。
ListView的LargeImageList,StaticImageList,SmallImageList分别绑定一个ImageList(也可绑定同一个ImageList)。
ListView的Items属性点开"...",自己看吧有你想要的。
至于代码实现可参看窗体设计器生成的代码。
试试这样:
Image I; ...
imageList1.Images.Add(I.GetThumbnailImage(重定义宽度,重定义高度,某委托, IntPtr.Zero));
MSDN:
Image.GetThumbnailImage 方法
返回此 Image 的缩略图。
参数
thumbWidth
请求的缩略图的宽度(以像素为单位)。
thumbHeight
请求的缩略图的高度(以像素为单位)。
callback
一个 Image.GetThumbnailImageAbort 委托。在 GDI+ 1.0 版中不使用此委托。即便如此,也必须创建一个委托并在该参数中传递对此委托的引用。
callbackData
必须为 Zero。
返回值
表示缩略图的 Image。
备注
如果 Image 包含一个嵌入式缩略图像,则此方法会检索嵌入式缩略图,并将其缩放为所需大小。如果 Image 不包含嵌入式缩略图像,此方法会通过缩放主图像创建一个缩略图像。
请求的缩略图像大小为 120 x 120 像素时,GetThumbnailImage 方法正常运行。如果从具有嵌入式缩略图的 Image 处请求较大的缩略图像(例如,300 x 300),则缩略图像的质量可能显著降低。通过调用 DrawImage 方法缩放主图像(而非嵌入式缩略图),则效果可能较好。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询