Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Загрузка части картинки [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]

А слабо просмотреть ближайшие темы?


Наверх

Титульная страница Поиск, карта сайта Написать письмо