Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.048 c
15-1197404481
Амплоадо
2007-12-11 23:21
2008.01.20
Delphi не могу Turbo установить


15-1197295733
Riply
2007-12-10 17:08
2008.01.20
Результат трехчасовых поисков ошибки в проекте :)


11-1182527657
danger
2007-06-22 19:54
2008.01.20
Проблемы с KOLTrackbar


2-1197967319
ZLinX
2007-12-18 11:41
2008.01.20
MySQL


2-1197912005
TroikA
2007-12-17 20:20
2008.01.20
Функции





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский