Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
11 / 11 / 0
Регистрация: 29.12.2010
Сообщений: 39

Рисунок из массива

21.01.2011, 19:22. Показов 1845. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день
Подскажите пожалуйста если кто знает:
Как из массива загрузить рисунок в Picturebox и наоборот
Это мне нужно чтоб я считал сначала зашифрованный файл рисунка потом расщифровал и поместил в Picturebox ну и наоборот
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2011, 19:22
Ответы с готовыми решениями:

Рисунок в C++ с использованием массива
Создать одномерный символьный массив размерностью N*N (N - const). Заполнить его содержимое пробелами "_". Заполнить его...

Растровый рисунок, как вставить bmp-рисунок в окно на полный экран?
Всем здрасьте! По книге которой я учусь , не понятно описано как вставить какую-нибудь картиночку в окно. Помогите мне , напишите как...

Графический Рисунок(нужно составить рисунок на С++ в форме желтой звезды)
нужно составить рисунок на С++ в форме желтой звезды

4
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
21.01.2011, 19:26
Цитата Сообщение от xagent Посмотреть сообщение
считал сначала зашифрованный
а каким боком он зашифрован ?
0
11 / 11 / 0
Регистрация: 29.12.2010
Сообщений: 39
21.01.2011, 19:32  [ТС]
Цитата Сообщение от gaw Посмотреть сообщение
а каким боком он зашифрован ?
пока еще ни каким - это я уже потом сделаю - мне бы узнать как массив в котором находиться файл рисунка запихнуть в picturebox - т.е. метод LoadPicture мне не подходит - я хочу считать бинарный файл а потом через массив запихнуть его в pictureBox
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
22.01.2011, 08:38
Лучший ответ Сообщение было отмечено как решение

Решение

Вот так
Visual Basic
1
  SetDIBitsToDevice Me.hDC, 0, 0, W, H, 0, 0, 0, H, Ar(0, 0), bi32BitInfo, 0
А так наоборот:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Option Explicit
 
Private Type BITMAPINFOHEADER '40 bytes
  biSize As Long
  biWidth As Long
  biHeight As Long
  biPlanes As Integer
  biBitCount As Integer
  biCompression As Long
  biSizeImage As Long
  biXPelsPerMeter As Long
  biYPelsPerMeter As Long
  biClrUsed As Long
  biClrImportant As Long
End Type
 
Private Type RGBQUAD
  rgbBlue As Byte
  rgbGreen As Byte
  rgbRed As Byte
  rgbReserved As Byte
End Type
 
Private Type BITMAPINFO
  bmiHeader As BITMAPINFOHEADER
  bmiColors As RGBQUAD
End Type
 
Private Type BITMAP
  bmType As Long
  bmWidth As Long
  bmHeight As Long
  bmWidthBytes As Long
  bmPlanes As Integer
  bmBitsPixel As Integer
  bmBits As Long
End Type
 
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, _
lpObject As Any) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
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 BITMAPINFO, ByVal wUsage As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
 
Private Function GetDIBfromBitmap(iPic As IPictureDisp, _
                                  Dib() As Byte, _
                                  Optional ByVal lWidth As Long = 0, _
                                  Optional ByVal lHeight As Long = 0) As Boolean
 
  Dim Bmp As BITMAP
  Dim dwHdc As Long, TmpDC As Long
  Dim hBmp As Long, OldBmp As Long
  Dim mem() As Byte
  Dim bminfo As BITMAPINFO
 
  Call GetObject(iPic, LenB(Bmp), Bmp)
  
  If lWidth = 0 Then lWidth = Bmp.bmWidth
  If lHeight = 0 Then lHeight = Bmp.bmHeight
  
  If (lWidth < 1) Or (lHeight < 1) Then Exit Function
 
  With bminfo.bmiHeader
    .biSize = 40
    .biPlanes = 1
    .biWidth = lWidth
    .biHeight = -lHeight
    .biBitCount = 24 'Bmp.bmBitsPixel
  End With
 
  dwHdc = CreateCompatibleDC(0)
  If dwHdc = 0 Then GoTo Fail
  hBmp = CreateCompatibleBitmap(dwHdc, lWidth, lHeight)
  OldBmp = SelectObject(dwHdc, iPic.Handle)
 
  'подгоним по размерам байтовый массив
  ReDim Dib(0 To 2, lWidth - 1, lHeight - 1)
 
  'захват изображения из пикчурбокса
  Call GetDIBits(dwHdc, iPic.Handle, 0, lHeight, Dib(0, 0, 0), bminfo, 0)
 
  Call SelectObject(dwHdc, OldBmp)
  Call DeleteObject(hBmp)
  Call DeleteDC(dwHdc)
 
  GetDIBfromBitmap = True
  Exit Function
 
Fail:
    If hBmp <> 0 Then Call DeleteObject(hBmp)
    If dwHdc <> 0 Then Call DeleteDC(dwHdc)
  
End Function
 
Private Sub Form_Load()
  Dim Dib() As Byte
  Call GetDIBfromBitmap(Picture1, Dib)
  Stop
End Sub
3
11 / 11 / 0
Регистрация: 29.12.2010
Сообщений: 39
23.01.2011, 02:24  [ТС]
Цитата Сообщение от Alex77755 Посмотреть сообщение
Спасибо - буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2011, 02:24
Помогаю со студенческими работами здесь

Как создать рисунок и сохранить его в bmp (точечный рисунок)
Здравствуйте, пишу свой графический редактор и вот не знаю как из того что я рисую в графе сконструировать рисунок , а потом сохранить его...

Установите в документе рисунок с кнопкой При нажатии кнопки рисунок должен смениться
Ув. пользователи! Прошу помочь мне с некоторыми задачами по Java Script: 1) Установите в документе рисунок с кнопкой. При нажатии...

На странице есть рисунок. При наведении мыши на этот рисунок он должен измениться
На странице есть рисунок. При наведении мыши на этот рисунок он должен измениться. Когда Вы отведете мышку в сторону, рисунок должен...

Рисунок в C++ с использованием массива и указателей
Создать одномерный символьный массив размерностью N*N (N - const). Заполнить его содержимое пробелами &quot;_&quot;. Заполнить его...

составить рисунок на паскале с помощью массива
помогите пожалуйста составить рисунок на паскале с помощью массива( рисунок н-р цветок..или еще что то) const=15;m=20; var array of...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru