информационная безопасность
без паники и всерьез
 подробно о проекте
Все любят медЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Хакеры начали эксплуатировать критическую... 
 Критическая уязвимость UEFI позволяет... 
 Японский хостинг попросил клиентов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Признаю, ошибся маленько :) 03.10.01 11:13  Число просмотров: 1032
Автор: 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; когда хочу чтобы первоначальное изображение сохранилось.
ЗЫ и чего это ты за такой ник спрятался пиши нормально здесь все свои >:(
<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





Рейтинг@Mail.ru


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