您好,我想知道,如何打开和修改大的图片文件,我需要更换某些像素的颜色,但是当我试图打开大文件(他们是从地图的图像,大小为300 MB或更多),我得到一个"内存不足"的错误。
我的代码是:Private Sub BMW_Filtrar_DoWork(ByVal sender As System.Object, _
ByVal e As System.ComponentModel.DoWorkEventArgs) _
Handles BMW_Filtrar.DoWork
Dim Archivo_Local As FileInfo = CType(e.Argument, FileInfo)
If Archivo_Local.Exists = False Then Exit Sub
Dim FSB As System.IO.FileStream
FSB = New FileStream(Archivo_Local.FullName, FileMode.Open, FileAccess.Read)
Dim L_Bitmap As Bitmap = Image.FromStream(FSB)
Dim i, j, Cont1, Cont2, Cont3, Cont4 As Integer
Dim Color_Px As System.Drawing.Color
'--- BUSCAR FILAS EN BLANCO PARTE SUPERIOR E INFERIOR ---
Dim Flag1 = False, Flag2 As Boolean = False
For i = 0 To L_Bitmap.Height - 1 Step 1
'COL CYCLE
For j = 0 To L_Bitmap.Width - 1 Step 1
Color_Px = L_Bitmap.GetPixel(j, i)
'REPLACE COLOR PIXEL
With Color_Px
If .R >= 128 Or .G > 180 Then L_Bitmap.SetPixel(j, i, Color.White)
If .G <= 130 And .B <= 100 Then L_Bitmap.SetPixel(j, i, Color.White)
End With
Next 'FIN CICLO COLUMNAS
Next
L_Bitmap.Save(Archivo_Local.Directory.FullName & "\Archivo.tif")
Salir:
Try
L_Bitmap.Dispose()
L_Bitmap = Nothing
FSB.Close()
Catch ex As Exception
End Try
End Sub
提前感谢任何帮助。
我最诚挚的问候,
弗雷迪煤