Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

Загрузка части картинки   Найти похожие ветки 

 
dedMazDie   (2004-09-08 11:39) [0]

Господа! Подскажите, пожалйста, как возможно загрузить в TImage
кусок картинки (т.е. прямоугольник пикселей).


 
antonn ©   (2004-09-08 13:51) [1]

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


 
dedMazDie   (2004-09-08 14:28) [2]

Там описывается работа с двумя файлами везде... А мне нада загружать из файла нужные фрагменты (если это возможно - плохо разбираюсь). А ещё лучше не загружая ни в какой компонент прямо из файла брать инфу о яркости пикселя, т.е. мне нада только получить к нему доступ, дальше я уже сам.


 
Jeer ©   (2004-09-08 14:52) [3]

Для таких как ты TImage и создан.


 
antonn ©   (2004-09-08 15:44) [4]


> dedMazDie   (08.09.04 14:28) [2]

Тебе хоть как придется "перебирать" полностью файл. Даже загружать бинарные данные придется полностью.


 
dedMazDie   (2004-09-08 15:47) [5]

2Jeer
Уважаемый! Если не знаешь как это сделать или знаешь, что этого нельзя сделать - лучше сказать, а не выпендриваться. TImage не устраивает, т.к. это медленно - при обработке сотен картинок это выливается в часы, что совсем неприемлимо.


 
dedMazDie   (2004-09-08 15:59) [6]

2antonn
Т.е. я понимаю, что повысить скорость обработки таким путем мне
не удасться?


 
Ja   (2004-09-08 16:32) [7]

Скорость загрузки файла - нет, а вот исключить обработку+прорисовку ненужных тебе областей (и как следствие общее быстродействие) - да.


 
dedMazDie   (2004-09-08 16:57) [8]

2Ja
Спасибо!
Буду благодарен также, если подскажешь, где и что искать, почитать что или пример какой...


 
Jeer ©   (2004-09-08 17:31) [9]

dedMazDie   (08.09.04 15:47) [5]

А в чем проблема-то ?

Для нужного формата файла (предварительно изучив его) пиши свой парсер. Но для некоторых форматов все равно придется загружать полностью.
И что такое часть картинки ?
Треугольная, овальная, диагональная или вообще в полосочку ?

Задумайся слегка и сложность ситуейшейн тебе станет понятнее.


 
Korneley ©   (2004-09-08 17:48) [10]

Сначала грузишь файл в обычный битмап, затем используешь его Canvas для обработки. Например:

var bmp : TBitMap;
...
 bmp := TBitMap.Create;
 try
   bmp.LoadFromFile("FileName.bmp");
{
 далее, если нужен доступ к отдельным точкам пользуешь свойство

 bmp.Canvas.Pixels[x,y]

 если кусок зарисовать на чужом Canvas-е - метод

 Canvas.CopyRect

 и т.д.
}
 finally
   bmp.Free;
 end;

Лучще ничего сходу не придумал. А читать -  хэлпы Ж:)


 
dedMazDie   (2004-09-09 11:36) [11]

Картинка - фотография с видеокамеры. Загружать нада прямоугольник определённый только, чтоб обработать нужные пиксели. Canvas.Pixel работает совсем медленно - его я использовал с самого начала, потом стал Scanline использовать - всё равно меделенно. Вот и думаю как бы ещё ускорить...


 
Jeer ©   (2004-09-09 12:36) [12]

CopyRect никто не отменял.


 
Рыба ©   (2004-09-09 18:30) [13]

>dedMazDie  (09.09.04 11:36) [11]
>потом стал Scanline использовать - всё равно меделенно. Вот и думаю как бы ещё ускорить...

FastLib, g32 или http://www.delphimaster.ru/articles/pixels/index.html


 
Mihey_temporary ©   (2004-09-09 20:06) [14]


> Jeer ©   (09.09.04 12:36) [12]


Да не старайся, всё равно конченый случай.


 
dedMazDie   (2004-09-10 13:01) [15]

Всем спасибо!



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.035 c
3-1100087184
ruslanyd
2004-11-10 14:46
2004.12.12
Среднее между TDBLookupListBox и TListBox


1-1101677694
Bobby Digital
2004-11-29 00:34
2004.12.12
Переслать переменную


1-1101630374
UVV
2004-11-28 11:26
2004.12.12
GetTime


1-1101541575
Igor_thief
2004-11-27 10:46
2004.12.12
Хинт


1-1101891672
Галинка
2004-12-01 12:01
2004.12.12
Как динамически создать рисунок на форме





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