информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetПортрет посетителяГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Во блин.... :(( -(Borland C++ Builder)- 02.10.01 03:18  Число просмотров: 1009
Автор: idiot (noJIHbIu') Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> 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: 1 s   Design: Vadim Derkach