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

Вниз

Работа с изображениями в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
4-1182375423
zl0y
2007-06-21 01:37
2008.01.20
Список процессов :)


15-1197031863
oldman
2007-12-07 15:51
2008.01.20
Почему могут ссориться модем и видеокарта?


2-1197854221
Bpeguk
2007-12-17 04:17
2008.01.20
Конвертер систем


15-1197603524
Slider007
2007-12-14 06:38
2008.01.20
С днем рождения ! 14 декабря 2007 пятница


15-1197464538
em240
2007-12-12 16:02
2008.01.20
Автоматизация установки служб в рамках домена.