![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Всем приветик!
Имеется: Metafile:=TMetafile.Create; Bitmap:=TBitmap.Create; Bitmap.LoadFromFile('c:\Temp\april.bmp');//прочитал картинку 24 бита with MetaFile do begin Image1.Height:=Bitmap.Height; Image1.Width:=Bitmap.Width; Image2.Height:=Bitmap.Height; Image2.Width:=Bitmap.Width; Image1.Canvas.Draw(0,0,Bitmap); //вывел картинку в TImage end; А теперь хотелось бы добраться до пикселей этой картинки и немного с ними поработать (заняться фильтрацией изображения)... Подскажите, как можно добраться до этих самих пикселей и их RGB составляющих? Заранее спасибо... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| var-alex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 7.10.2003 Где: Коломна, MCK Репутация: нет Всего: 1 |
У битмапа есть Canvas, у него есть свойсво pixels типа TColor. Вот через него и добирайся! Получить из Tcolor RGB можно функцией function ColorToRGB(Color: TColor): Longint; а потом оттуда функциями GetBValue, GetRValue, GetGValue получить составляющие. Но можно напрямую смотреть этот longInt и даже TColor.
|
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Так пробовал, не получается... В это свойство можно только писать, но забирать значения пикселей не выходит... Попробуй, если у тебя получиться, брось кусок кода, как ты этого добился... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| x77 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
||||
|
|||||
| var-alex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 7.10.2003 Где: Коломна, MCK Репутация: нет Всего: 1 |
Не может быть!!!!
Из хельпа: Specifies the color of the pixels within the current ClipRect. property Pixels[X, Y: Integer]: TColor; Description Read Pixels to learn the color on the drawing surface at a specific pixel position within the current clipping region. If the position is outside the clipping rectangle, reading the value of Pixels returns -1. Write Pixels to change the color of individual pixels on the drawing surface. Use Pixels for detailed effects on an image. Pixels may also be used to determine the color that should be used for the FillRect method. Not every device context supports the Pixels property. Reading the Pixels property for such a device context will return a value of -1. Setting the Pixels property for such a device context does nothing. Мож метафайл не поддерживает это?? Надо читать про него MSDN... |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
Я так понял, в заголовке сказано про битмап, а не про метафайл...
А причем там метафайл - видимо атавизм ?
А вот код, подтверждающий, что можно и писать и читать через Pixels в TBitmap:
-------------------- С уважением, г-н Посол. |
||||
|
|||||
| var-alex |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 7.10.2003 Где: Коломна, MCK Репутация: нет Всего: 1 |
Поэтому и говорю, что метафайл. Bitmap егойный используется! |
||||
|
|||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Всем спасибо, раздолбили мою проблему в пух и прах...
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
val
Если будешь глубоко с битмапами работать, обрати внимание на ScanLine. Через Pixels - очень долго. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
var-alex, у метафайла нет никакого битмапа... Это сообщение отредактировал(а) p0s0l - 8.10.2003, 07:12 -------------------- С уважением, г-н Посол. |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Не знаю к чему тут метафайл, но это вырезка из хелпа, так что зачем-то он тут всё-таки нужен... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| var-alex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 7.10.2003 Где: Коломна, MCK Репутация: нет Всего: 1 |
Ну да, а как ты по другому тут нарисуешь на метафайле битмап? Не использую Tbitmap? :-))
|
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
А зачем тут метафайл? Можно и так записать:
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| maxim1000 |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
да
нет можно вообще миновать стадию показа:
-------------------- qqq |
||||||||
|
|||||||||
| val |
|
||||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
ясный пень...
не понял? -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |