Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.18;
Скачать: CL | DM;

Вниз

Как вывести массив точек на TImage?   Найти похожие ветки 

 
BofA ©   (2002-11-07 12:51) [0]

Есть структуры
TCArray = array of TColor;
var Pic : TCArray;

В Pic хранится изображение, как нарисовать его на TImage?


 
Kudatsky   (2002-11-07 13:30) [1]

Если изображение находится в 1-мерном массиве (???), и если его нужно вывести в строку, то это можно сделать так:

procedure TEdiForm.Button1Click(Sender: TObject);
var
Pic : TCArray;
I:Integer;
begin
for I:=Low(Pic) to High(Pic) do
Image1.Canvas.Pixels[1,I]:=Pic[I];
end;

Картинка рисуется в 1-й строке Canvas


 
BofA ©   (2002-11-07 13:37) [2]

Sorry за неточное изложение проблеммы. В массиве хранится изображение, известны его высота и ширина, а точка с координатами (X,Y) хранится в Pic[X+Width*Y].
Проблемма такая: Image.Canvas.Pixels очень медленно работает, а надо, чтобы изображение быстро выводилось. Можно ли как-нибудь вывести картинку в TImage быстрее чем через Canvas.Pixels?


 
BofA ©   (2002-11-07 15:58) [3]

Неужели никто не знает?


 
McSimm ©   (2002-11-07 16:14) [4]

нужно использовать ScanLine и записывать изображение построчно - это будет намного быстрее.
Но. Формат массива с точками должен соответствовать цветовому режиму картинки.



Страницы: 1 вся ветка

Текущий архив: 2002.11.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-59134
dj_adrian
2002-11-07 22:53
2002.11.18
Непонятный баг...


4-59477
_sMile
2002-10-07 14:05
2002.11.18
С --> Pascal


14-59410
Bboy
2002-10-31 10:55
2002.11.18
Как восстановить ContactList в ICQ 99a???


14-59417
maxim2
2002-10-25 08:47
2002.11.18
Непорали сделать форум по Kylix ?


4-59486
@lexey
2002-09-23 22:44
2002.11.18
Как выключить блок АТХ под Windows XP