![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
TechnoMag |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.3.2010 Репутация: нет Всего: нет |
Создаю миниатюры функцией:
При добавлении в ListView на краях изображения есть белые рамки. ![]() Хотелось бы так: ![]() Как от них избавиться? P.S. Как улучшить качество масштабирования? StretchBlt делает более четкие картинки. Это сообщение отредактировал(а) TechnoMag - 18.9.2013, 11:37 |
|||
|
||||
Illusion Dolphin |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Проверьте, что у вас ImageList 32 бита и всё, что не входит в изображение - прозрачное.
По умолчанию она использует nearest, что выглядит ужасно для большинства изображений. Можно попробовать использовать свои функции для масштабирования, благо примеров в интернете навалом.
А для чего ваше приложение? В более-менее серьёзном я бы посоветовал попробовать более функциональные контролы.
try-finally не забывайте, картинки это большое количество памяти - будите тепять будет очень плохо [sarcasm]
Шикарнейше! [/sarcasm] -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||||||
|
|||||||||
TechnoMag |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.3.2010 Репутация: нет Всего: нет |
Наверно, помимо битности нужно что-то еще устанавливать. Не работает. Изображение "накладывается" на TBitmap с белым фоном, а TBitmap загружется в TImageList размером 128х128, и этот размер постоянный для всех изображений, т.к. задан в TImageList. |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
для GDI+ так же можно указать алгоритм преобразования, AFAIK (TGPGraphics - SetCompositingQuality/SetSmoothingMode).
TempBMP - Установить 32битность (PixelFormat = ps32bit), т.к. по-умолчанию, вроде бы, 24бита pfDevice. или вообще рисовать в TGPBitmap, а его уже преобразовывать в TBitmap Это сообщение отредактировал(а) MetalFan - 18.9.2013, 14:38 -------------------- There are always someone smarter than you... |
|||
|
||||
TechnoMag |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.3.2010 Репутация: нет Всего: нет |
Визуально никаких изменений.
Никаких изменений. Когда делал через StretchBlt - добавлял маску, работало. А с GDI+ маска не работает.
|
||||||
|
|||||||
TechnoMag |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.3.2010 Репутация: нет Всего: нет |
Получилось!
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
кстати, так GetThumbnailImage может возвращать Thumbnail нужного размера... зачем потом еще городить огород с DrawImage?
А качество превью завист от того, какого размера превью уже есть в файле и есть ли вообще. -------------------- There are always someone smarter than you... |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
-------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
TechnoMag |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.3.2010 Репутация: нет Всего: нет |
Спасибо. Не заметил. Но у меня было другое: когда реализация создания миниатюр была в основном потоке - все изображения загружались нормально, а когда вынес в отдельный поток - загружаться стали не все изображения, вернее - иногда загружаются все, а иногда не все. Попробую исправить эту ошибку, может поможет. Это сообщение отредактировал(а) TechnoMag - 19.9.2013, 18:40 |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Тут наверное проблема с синхронизацией. Покажите код потока - подскажу Это сообщение отредактировал(а) Illusion Dolphin - 19.9.2013, 19:12 -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
ну так если просто вынес и из доп.потока добавляешь в ImageList с формы, то вполне понятно, что могут быть проблемы. Я сталкивался с проблемой по отрисовке в доп.потоке, когда передавал bitmap из/в поток... в итоге перешел на передачу битмапа, сохраненного в стрим, что почти решило проблему. -------------------- There are always someone smarter than you... |
|||
|
||||
TechnoMag |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.3.2010 Репутация: нет Всего: нет |
Т.е. TimageList не потокобезопасен? Я в потоке добавляю в TImageList миниатюры (пробовал и синхронизированно - synchronise), а когда поток закончил работу - добавляю элементы в TListView. |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
Никакие компоненты VCL непотокобезопасны. А тем более, "лежащие" на какой-либо форме приложения. -------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |