Кодировка и разкодировка картинки - VB

Узнай цену своей работы

Формулировка задачи:

Нахожусь в поиске информации о том, как исходную картинку , скажем "new.jpg" перекодировать в файл тхт ,состоящий из 1 и 0 , а впоследствии другой программой раскодировать его и вывести на Image1.Image.Зарание признателен.

Решение задачи: «Кодировка и разкодировка картинки»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. 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
  4. 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
  5.  
  6. Private Sub Form_Load()
  7.     Dim pix()       As Byte
  8.     Dim bi(11)      As Long
  9.     Dim pic         As IPicture
  10.     Dim s           As Long
  11.     Dim Mask(7)     As Integer
  12.     Dim x           As Long
  13.     Dim y           As Long
  14.    
  15.     Set pic = Image1.Picture
  16.  
  17.     bi(0) = 40
  18.     GetDIBits Me.hdc, pic.Handle, 0, ScaleY(pic.Height, vbHimetric, vbPixels), ByVal 0&, bi(0), 0
  19.     bi(4) = 0: bi(3) = &H10001
  20.    
  21.     s = bi(1) \ 8: If s And &H3 Then s = (s And &HFFFFFFFC) + 4
  22.     ReDim pix(s - 1, bi(2) - 1)
  23.  
  24.     GetDIBits Me.hdc, pic.Handle, 0, bi(2), pix(0, 0), bi(0), 0
  25.    
  26.     ' Создаем шахматную маску
  27.    Mask(0) = &HF0: Mask(1) = &HF0: Mask(2) = &HF0: Mask(3) = &HF0
  28.     Mask(4) = &HF: Mask(5) = &HF: Mask(6) = &HF: Mask(7) = &HF
  29.    
  30.     For y = bi(2) - 1 To 0 Step -1: For x = 0 To s - 1
  31.         pix(x, y) = pix(x, y) And Mask(y And &H7)
  32.     Next: Next
  33.    
  34.     SetDIBits Me.hdc, pic.Handle, 0, bi(2), pix(0, 0), bi(0), 0
  35.    
  36. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы