Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Вниз

Как вывести массив точек на 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
8-59291
login2
2002-07-30 11:18
2002.11.18
Работа с палитрой


1-59159
Durik
2002-11-08 16:31
2002.11.18
Очень простой вопрос


6-59299
Aralekin
2002-09-20 17:58
2002.11.18
Широковещательный пакет


14-59421
Esipenko
2002-10-31 12:10
2002.11.18
Пароль на вход в Win98


3-59020
RedKat
2002-10-28 17:47
2002.11.18
Большой цикл с запросами к БД Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский