![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка части картинки [D7, Win95/98, WinXP]
dedMazDie © (2004-09-08 11:39:00)Господа! Подскажите, пожалйста, как возможно загрузить в TImage
кусок картинки (т.е. прямоугольник пикселей).
dedMazDie (2004-09-10 13:01:00) [1]Всем спасибо!
Mihey_temporary (2004-09-09 20:06:00) [2]
> Jeer © (09.09.04 12:36) [12]
Да не старайся, всё равно конченый случай.
Рыба (2004-09-09 18:30:00) [3]>dedMazDie (09.09.04 11:36) [11]
>потом стал Scanline использовать - всё равно меделенно. Вот и думаю как бы ещё ускорить...
FastLib, g32 или http://www.delphimaster.ru/articles/pixels/index.html
Jeer (2004-09-09 12:36:00) [4]CopyRect никто не отменял.
dedMazDie (2004-09-09 11:36:00) [5]Картинка - фотография с видеокамеры. Загружать нада прямоугольник определённый только, чтоб обработать нужные пиксели. Canvas.Pixel работает совсем медленно - его я использовал с самого начала, потом стал Scanline использовать - всё равно меделенно. Вот и думаю как бы ещё ускорить...
Korneley (2004-09-08 17:48:00) [6]Сначала грузишь файл в обычный битмап, затем используешь его Canvas для обработки. Например:
var bmp : TBitMap;
...
bmp := TBitMap.Create;
try
bmp.LoadFromFile('FileName.bmp');
{
далее, если нужен доступ к отдельным точкам пользуешь свойство
bmp.Canvas.Pixels[x,y]
если кусок зарисовать на чужом Canvas-е - метод
Canvas.CopyRect
и т.д.
}
finally
bmp.Free;
end;
Лучще ничего сходу не придумал. А читать - хэлпы Ж:)
Jeer (2004-09-08 17:31:00) [7]dedMazDie (08.09.04 15:47) [5]
А в чем проблема-то ?
Для нужного формата файла (предварительно изучив его) пиши свой парсер. Но для некоторых форматов все равно придется загружать полностью.
И что такое часть картинки ?
Треугольная, овальная, диагональная или вообще в полосочку ?
Задумайся слегка и сложность ситуейшейн тебе станет понятнее.
dedMazDie (2004-09-08 16:57:00) [8]2Ja
Спасибо!
Буду благодарен также, если подскажешь, где и что искать, почитать что или пример какой...
Ja (2004-09-08 16:32:00) [9]Скорость загрузки файла - нет, а вот исключить обработку+прорисовку ненужных тебе областей (и как следствие общее быстродействие) - да.
dedMazDie (2004-09-08 15:59:00) [10]2antonn
Т.е. я понимаю, что повысить скорость обработки таким путем мне
не удасться?
dedMazDie (2004-09-08 15:47:00) [11]2Jeer
Уважаемый! Если не знаешь как это сделать или знаешь, что этого нельзя сделать - лучше сказать, а не выпендриваться. TImage не устраивает, т.к. это медленно - при обработке сотен картинок это выливается в часы, что совсем неприемлимо.
antonn (2004-09-08 15:44:00) [12]
> dedMazDie (08.09.04 14:28) [2]
Тебе хоть как придется "перебирать" полностью файл. Даже загружать бинарные данные придется полностью.
Jeer (2004-09-08 14:52:00) [13]Для таких как ты TImage и создан.
dedMazDie (2004-09-08 14:28:00) [14]Там описывается работа с двумя файлами везде... А мне нада загружать из файла нужные фрагменты (если это возможно - плохо разбираюсь). А ещё лучше не загружая ни в какой компонент прямо из файла брать инфу о яркости пикселя, т.е. мне нада только получить к нему доступ, дальше я уже сам.
antonn (2004-09-08 13:51:00) [15]А слабо просмотреть ближайшие темы?