Форум: "Прочее";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
ВнизРабота с изображениями в Delphi Найти похожие ветки
← →
Анатолий (2007-12-13 21:02) [0]Подскажите алгоритм нахождения точки пересечения нечётких линий, да и вообще как работать с рисунками в делфи лучше? (узнать, какого цвета точка с определенной координатой)
← →
@!!ex © (2007-12-13 21:06) [1]Точка с Canvas получается командой через массив Pixels. Например:
Form1.Canvas.Pixels[10,10]:=clRed;
Лучше всего работать через ScanLine, но эта фунгкция есть только у TBitMap и там прямая работа с изображением , поэтому надо учитывать формат ввода и все такое.
← →
Анатолий © (2007-12-13 21:08) [2]а если есть рисунок в файле, чем его лучше загружать?
← →
@!!ex © (2007-12-13 21:09) [3]> [2] Анатолий © (13.12.07 21:08)
Какого формата?
← →
Анатолий © (2007-12-13 21:12) [4]сейчас он в jpg но если что не проблема тем же пайнтом перевести в bmp
← →
@!!ex © (2007-12-13 21:17) [5]> [4] Анатолий © (13.12.07 21:12)
bmp:uses
Graphics;
var
BitMap:TBitMap;
x,y:integer;
begin
BitMap:=TBitMap.Create;
BitMap.LoadFromFile(FileName);
for y:=0 to BitMap.Height-1 do
for x:=0 to BitMap.Width-1 do
ShowMessage(ColorToString(BitMap.Canvas.Pixels[x,y]));
end;
jpg чуть сложнее открывать.
← →
@!!ex © (2007-12-13 21:19) [6]Вообще этой ветке место в "Начинающим". ИМХО
← →
Анатолий © (2007-12-13 21:19) [7]спасиб, попробую
← →
@!!ex © (2007-12-13 21:20) [8]Ну и BitMap.Free; конечно же, после цикла.
← →
@!!ex © (2007-12-13 21:22) [9]Читай Help по ScanLine. PIxels - это ОЧЕНЬ медленно.
← →
Анатолий © (2007-12-13 21:30) [10]@!!ex © (13.12.07 21:22) [9] спасиб большое, задача решена практически) с графикой почти никогда не работал, а когда-то писал Win-апи проги системного уровня))
а скорость непринципиальна) пусть хоть час работает, лишь бы сделала что надо))
← →
@!!ex © (2007-12-13 21:31) [11]> [10] Анатолий © (13.12.07 21:30)
Так если спец по программированию, сделал бы загрузку формата руками, bmp - открытый формат.
← →
Анатолий © (2007-12-13 21:35) [12]время-деньги))) некогда
← →
@!!ex © (2007-12-13 21:36) [13]> [12] Анатолий © (13.12.07 21:35)
10 минут пишется загрузка.
А раз я тебе помог сэкономить твое время-деньги, значит мне положено 10%? :)
← →
Анатолий © (2007-12-13 21:40) [14]@!!ex © (13.12.07 21:36) [13]
:)
мы не ищем легких путей (с) :)))
← →
DVM © (2007-12-13 23:18) [15]
> Подскажите алгоритм нахождения точки пересечения нечётких
> линий
Что понимается под такими линиями и как заданы линии?
← →
antonn © (2007-12-13 23:45) [16]
> Вообще этой ветке место в "Начинающим". ИМХО
>
в Медиа, не имхо %)
> Что понимается под такими линиями и как заданы линии?
смазанные, видимо :)
← →
Черный Шаман (2007-12-14 00:35) [17]
> @!!ex © (13.12.07 21:06) [1]
>
> Точка с Canvas получается командой через массив Pixels.
> Например:
> Form1.Canvas.Pixels[10,10]:=clRed;
>
> Лучше всего работать через ScanLine, но эта фунгкция есть
> только у TBitMap и там прямая работа с изображением , поэтому
> надо учитывать формат ввода и все такое.
Выгоднее Canvas перегнать в TBitmap и там уже работать, ускорение в 10-40 раз.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.044 c