Кодировка и разкодировка картинки - VB
Формулировка задачи:
Нахожусь в поиске информации о том, как исходную картинку , скажем "new.jpg" перекодировать в файл тхт ,состоящий из 1 и 0 , а впоследствии другой программой раскодировать его и вывести на Image1.Image.Зарание признателен.
Решение задачи: «Кодировка и разкодировка картинки»
textual
Листинг программы
Option Explicit Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As Any, ByVal wUsage As Long) As Long Private Declare Function SetDIBits Lib "gdi32" (ByVal hdc As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As Any, ByVal wUsage As Long) As Long Private Sub Form_Load() Dim pix() As Byte Dim bi(11) As Long Dim pic As IPicture Dim s As Long Dim Mask(7) As Integer Dim x As Long Dim y As Long Set pic = Image1.Picture bi(0) = 40 GetDIBits Me.hdc, pic.Handle, 0, ScaleY(pic.Height, vbHimetric, vbPixels), ByVal 0&, bi(0), 0 bi(4) = 0: bi(3) = &H10001 s = bi(1) \ 8: If s And &H3 Then s = (s And &HFFFFFFFC) + 4 ReDim pix(s - 1, bi(2) - 1) GetDIBits Me.hdc, pic.Handle, 0, bi(2), pix(0, 0), bi(0), 0 ' Создаем шахматную маску Mask(0) = &HF0: Mask(1) = &HF0: Mask(2) = &HF0: Mask(3) = &HF0 Mask(4) = &HF: Mask(5) = &HF: Mask(6) = &HF: Mask(7) = &HF For y = bi(2) - 1 To 0 Step -1: For x = 0 To s - 1 pix(x, y) = pix(x, y) And Mask(y And &H7) Next: Next SetDIBits Me.hdc, pic.Handle, 0, bi(2), pix(0, 0), bi(0), 0 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д