> Всем привет. Помогите в след. вопросе, если не трудно... > > Взял я файл (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]; > не проходит - ОЧЕНЬ медленно грузится!! :((
Вопрос: как мне этот массив теперь взять и вывести на экран?? %) Вариант с
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
Собственно, вопрос: это вообще правильно написано или это вариант "для неполного идиота сойдет.."? Если верно второе, то напишите правильную инверсию, пожалуйста!
> Во, спасибо вам - здорово помогли. Вот возник вопрос насчет > инверсии... > > Вот этот фрагмент кода инвертирует изображение (из хэлпа > взято). > > 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`. > > Чем я и занимаюсь. Еще предложения? Может, кто поможет > все-таки?
Забей на массивы и сохраняй сразу bitmap
так же намного проще, зачем создавать себе такой
геморой, а потом спрашивать чой-то мои картинки медленно выводятся.
Если программу можно написать проще, то лучше сделай это !
> Забей на массивы и сохраняй сразу bitmap > так же намного проще, зачем создавать себе такой > геморой, а потом спрашивать чой-то мои картинки медленно > выводятся. > > Если программу можно написать проще, то лучше сделай это ! > > Да я с этим массивом же работаю...:( Я б рад все нафиг сразу в битмап впихнуть... :((
???02.10.01 15:27 Автор: Cyril <sc> Статус: Member
> > Забей на массивы и сохраняй сразу bitmap > > так же намного проще, зачем создавать себе такой > > геморой, а потом спрашивать чой-то мои картинки > медленно > > выводятся. > > > > Если программу можно написать проще, то лучше сделай > это ! > > > > > Да я с этим массивом же работаю...:( Я б рад все нафиг > сразу в битмап впихнуть... :((
А так не проще bitmap.canvas.pixels[i,j];
или у тебя есть какие-либо причины так не делать
Если тебе все же нужно вывести массив
то создай bitmap нужной ширины, высоты скопируй туда свой массив
ну а дальше выводи, наверное это самый оптимальный вариант для тебя