Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
1

Как массив загнать в Bitmap

11.02.2009, 18:45. Показов 2322. Ответов 6
Метки нет (Все метки)

Люди помогите тану есть массив bits вот так созданный:%)
for (j=0; j<240;j++){
Pik = (Byte *)MyBuffer->ScanLine[j];
for (i=0; i<320 ;i++, a=i*4){
int x = i*4; int y = j*x;
bits[0+x+y] = Pik[a+0];
bits[1+x+y] = Pik[a+1];
bits[2+x+y] = Pik[a+2];
bits[3+x+y] = Pik[a+3];
}}
а как его обратно в буфер загнать?
Пробовал BitBlt чего-то торможу тоже не получается.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2009, 18:45
Ответы с готовыми решениями:

Как загнать в массив строку текста по буквам?
помогите пожалуйста кто-нибудь очень нада

Как загнать текст из консоли в массив и как загнать текст из файла в массив
Как загнать текст из консоли в массив и как загнать текст из файла в массив. Как использовать...

Как загнать предложение в массив?
Как загнать предложение в массив string? Посимвольно это все понятно, а именно как чтобы каждое...

Как загнать массив записей в процедуру?
Как загнать массив записей в процедуру? Препод задал задачу по добавлению и изменению массива...

6
1089 / 587 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
12.02.2009, 13:04 2
обратно в точности так же... посмотри пример в билдеровском хэлпе по ScanLine

p.s. не совсем этично объявлять переменные (x и y) в цикле, особенно во вложенном
0
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
12.02.2009, 14:19  [ТС] 3
x, y поменял на а и в.
ScanLine пробовал
C++
1
MyBuffer->ScanLine[j] = (void*)bits[j];
выдаёт ошибку: TBitmap::ScanLine' is not accessible
0
1089 / 587 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
12.02.2009, 14:39 4
ну ты написал :-D Scan на то и скан... получается что ты пытаешься сканер использовать как принтер)))
я имел ввиду как в примере... в цикле по-пиксельно...
0
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
12.02.2009, 14:49  [ТС] 5
MyBuffer->Canvas->Pixels[j][i] = (byte*)bits[j];
а так тормозит ужасно
0
1089 / 587 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
12.02.2009, 14:52 6
Код
int x,y;
for (j=0; j<240;j++){
Pik = (Byte *)MyBuffer->ScanLine[j];
for (i=0; i<320 ;i++){
x = i*4;
y = j*x;
Pik[x+0] = (Byte) bits[0+x+y];
...
...
...
}}
0
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 32
12.02.2009, 16:09  [ТС] 7
Во тормоз! Pik это-же адрес, извините за глупый вопрос.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2009, 16:09

Как из ListBox загнать значение в массив?
Ребят, как из listBox загнать значение в массив?

Как из стека int-ы загнать в массив?
массив определен за асемблерской вставкой

Как загнать в массив столбцы идущие не по порядку
Всем привет! Столкнулся с проблемой, имеется таблица в формате excel. В ней есть n-е количетсов...

Создал многомерный массив как загнать в Комбобокс
'создаём массив многомерный, данные массива String DIM Массив(1 TO 20, 1 TO 70) AS STRING...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru