информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на InternetСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] Во блин.... :(( -(Borland C++ Builder)- 02.10.01 03:10  Число просмотров: 954
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Всем привет. Помогите в след. вопросе, если не трудно...
>
> Взял я файл (BMP), загнал его в массив MyPicture[][].. Вот
> код:
>
> for(int i=0; i<Form1->Image1->Width; i++)
> for(int j=0; j<Form1->Image1->Height; j++)
> MyPicture [i] [j]=Image1->Canvas->Pixels
> [i] [j];
>
> Вопрос: как мне этот массив теперь взять и вывести на
> экран?? %) Вариант с
> for(int i=0; i<Form1->Image1->Width; i++)
> for(int j=0; j<Form1->Image1->Height ;j++)
> Image1->Canvas->Pixels [i] [j]=MyPicture
> [i] [j];
> не проходит - ОЧЕНЬ медленно грузится!! :((

Zagnal v massiv bot i ebis` teper`.
<programming>
[C++] Во блин.... :(( -(Borland C++ Builder)- 02.10.01 01:59  
Автор: idiot (noJIHbIu') Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Всем привет. Помогите в след. вопросе, если не трудно...

Взял я файл (BMP), загнал его в массив MyPicture[][].. Вот код:

for(int i=0; i<Form1->Image1->Width; i++)
for(int j=0; j<Form1->Image1->Height; j++)
MyPicture [i] [j]=Image1->Canvas->Pixels [i] [j];

Вопрос: как мне этот массив теперь взять и вывести на экран?? %) Вариант с
for(int i=0; i<Form1->Image1->Width; i++)
for(int j=0; j<Form1->Image1->Height ;j++)
Image1->Canvas->Pixels [i] [j]=MyPicture [i] [j];
не проходит - ОЧЕНЬ медленно грузится!! :((
[C++] однако.. 02.10.01 17:27  
Автор: zelych Статус: Member
<"чистая" ссылка>
[..skip..]

> Image1->Canvas->Pixels [i] [j]=MyPicture[i] [j];
а зачем ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ??
не проще ли:
Image1[i][j] = MyPicture[i][j];

чтобы обратиться к полю структуры, необходимо как минимум четыре команды..
а если прямо к массиву, то всего две..

ну или вот так
memcpy( Image1->Canvas->Pixels, MyPicture[i] [j], pictureSize );
тогда и со структурами пойдёт
[C++] Признаю, ошибся маленько :) 02.10.01 18:06  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
[C++] Признаю, ошибся маленько :) 02.10.01 23:02  
Автор: idiot (noJIHbIu') Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Во, спасибо вам - здорово помогли. Вот возник вопрос насчет инверсии...

Вот этот фрагмент кода инвертирует изображение (из хэлпа взято).

Image1->Canvas->CopyMode =cmPatInvert;
Image1->Canvas->CopyRect(Rect(0,0,Form1->Image1->Width,Form1->Image1->Height),Image1->Canvas, Rect(0,0,Form1->Image1->Width,Form1->Image1->Height));
}

Собственно, вопрос: это вообще правильно написано или это вариант "для неполного идиота сойдет.."? Если верно второе, то напишите правильную инверсию, пожалуйста!
[C++] Признаю, ошибся маленько :) 03.10.01 11:13  
Автор: Xan Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Во, спасибо вам - здорово помогли. Вот возник вопрос насчет
> инверсии...
>
> Вот этот фрагмент кода инвертирует изображение (из хэлпа
> взято).
>
> Image1->Canvas->CopyMode =cmPatInvert;
> Image1->Canvas->CopyRect(Rect(0,0,Form1->Image1-&g
> t;Width,Form1->Image1->Height),Image1->Canvas,
> Rect(0,0,Form1->Image1->Width,Form1->Image1->He
> ight));
> }
>
> Собственно, вопрос: это вообще правильно написано или это
> вариант "для неполного идиота сойдет.."? Если верно второе,
> то напишите правильную инверсию, пожалуйста!

Все верно что правильно работает. Пример имнхо вполне корректен но я обычно делаю CopyMode =cmDstInvert; когда хочу чтобы первоначальное изображение сохранилось.
ЗЫ и чего это ты за такой ник спрятался пиши нормально здесь все свои >:(
[C++] Во блин.... :(( -(Borland C++ Builder)- 02.10.01 03:10  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Всем привет. Помогите в след. вопросе, если не трудно...
>
> Взял я файл (BMP), загнал его в массив MyPicture[][].. Вот
> код:
>
> for(int i=0; i<Form1->Image1->Width; i++)
> for(int j=0; j<Form1->Image1->Height; j++)
> MyPicture [i] [j]=Image1->Canvas->Pixels
> [i] [j];
>
> Вопрос: как мне этот массив теперь взять и вывести на
> экран?? %) Вариант с
> for(int i=0; i<Form1->Image1->Width; i++)
> for(int j=0; j<Form1->Image1->Height ;j++)
> Image1->Canvas->Pixels [i] [j]=MyPicture
> [i] [j];
> не проходит - ОЧЕНЬ медленно грузится!! :((

Zagnal v massiv bot i ebis` teper`.
[C++] Во блин.... :(( -(Borland C++ Builder)- 02.10.01 03:18  
Автор: idiot (noJIHbIu') Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Zagnal v massiv bot i ebis` teper`.

Чем я и занимаюсь. Еще предложения? Может, кто поможет все-таки?
[C++] Во блин.... :(( -(Borland C++ Builder)- 02.10.01 10:41  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> > Zagnal v massiv bot i ebis` teper`.
>
> Чем я и занимаюсь. Еще предложения? Может, кто поможет
> все-таки?

Забей на массивы и сохраняй сразу bitmap
так же намного проще, зачем создавать себе такой
геморой, а потом спрашивать чой-то мои картинки медленно выводятся.

Если программу можно написать проще, то лучше сделай это !


:( 02.10.01 13:21  
Автор: idiot (noJIHbIu') Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Забей на массивы и сохраняй сразу bitmap
> так же намного проще, зачем создавать себе такой
> геморой, а потом спрашивать чой-то мои картинки медленно
> выводятся.
>
> Если программу можно написать проще, то лучше сделай это !
>
>
Да я с этим массивом же работаю...:( Я б рад все нафиг сразу в битмап впихнуть... :((
??? 02.10.01 15:27  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> > Забей на массивы и сохраняй сразу bitmap
> > так же намного проще, зачем создавать себе такой
> > геморой, а потом спрашивать чой-то мои картинки
> медленно
> > выводятся.
> >
> > Если программу можно написать проще, то лучше сделай
> это !
> >
> >
> Да я с этим массивом же работаю...:( Я б рад все нафиг
> сразу в битмап впихнуть... :((

А так не проще bitmap.canvas.pixels[i,j];
или у тебя есть какие-либо причины так не делать

Если тебе все же нужно вывести массив
то создай bitmap нужной ширины, высоты скопируй туда свой массив
ну а дальше выводи, наверное это самый оптимальный вариант для тебя





1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach