1
編輯: 我收到一條「內存不足」的錯誤加載圖像到一個ImageList甚至當我把dispose()
或End Using
將位圖後的ImageList 。VB.NET出
這是我的代碼。
Function loadImage()
Dim item As New ListViewItem
imageList.ImageSize = New Size(45, 70)
For Each value In arr
If System.IO.File.Exists(value) Then
Using img As New Bitmap(value)
imageList.Images.Add(Image.FromHbitmap(img.GetHbitmap))
End Using
newListView.LargeImageList = imageList
item = New ListViewItem(value)
newListView.Items.Add(item)
item.Name = value
item.Tag = System.IO.Path.GetDirectoryName(value)
newListView.Items(item.Index).ImageIndex = item.Index
End If
Next
newListView.View = View.LargeIcon
Return Nothing
End Function
我有arr
由圖像路徑的96個值,並且只有其中的82獲取OOM發生錯誤被顯示即可。
也許我濫用了Using
聲明或任何東西。我希望你能幫助我。謝謝!
當然,您的圖片文件夾中的一百張照片可以很容易地消耗一千兆字節或兩個內存。 Kaboom在32位模式下運行時的應用程序。調整圖像大小以便它們不需要太多內存,但對於ListView來說足夠大,在將它們添加到ImageList之後進行處理,刪除抖動強制,以便程序以64位模式運行。 – 2015-02-08 17:20:55
@HansPassant如何處理圖像?我在哪裏可以放置處置代碼? (對不起,這裏是初學者)。還有一件事,你的意思是調整寬度和高度來調整大小? – slverstone 2015-02-08 17:27:22
你的圖像有多大?多少個像素?將圖像調整爲適合您的列表視圖的縮略圖大小的方法。您的列表視圖不需要百萬像素圖像 – tofi9 2015-02-09 03:40:25