Главная страница
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.018 c
2-1197965944
Washington
2007-12-18 11:19
2008.01.20
Пароль на базу данных MS Access


11-1182631081
=BuckLr=
2007-06-24 00:38
2008.01.20
Вопрос по версии библиотеки Рич


15-1197899019
Eugen
2007-12-17 16:43
2008.01.20
Tech Lead


6-1178938053
mm0
2007-05-12 06:47
2008.01.20
Как узнать все ли данные получены? (Indy)


2-1198127548
DimonS
2007-12-20 08:12
2008.01.20
Рисование, TImage