![]() |
|
|
#1
|
||||
|
||||
![]() Появилась такая задача - обработать много, действительно много, png-файлов. Думал, с Delphi всё будет проще, на деле оказалось иначе.
Использую компонент TPNGObject (кстати, когда я его устанавливал, у меня установился почему-то лишь PNGButton, но сейчас не об этом). Для начала решил, что надо научиться всех их уменьшать. Нашел пару функций, для перевода в bitmap и обратно. Bitmap уже уменьшаю. И сразу проблемы: 1. Потеря качества. Было: ![]() Стало: ![]() Не смертельно, но неприятно. 2. Альфа-канал не работал, как следует. Оно и понятно - при переводе в bitmap я пытаюсь получить к нему доступ, а его нет. Легко исправляется проверкой, есть ли прозрачность. (Есть и еще один способ, но в нем я не уверен). 3. Второй пункт я бы не писал, если бы не третий. Основной. Всю жизнь мне испортил. Короче, есть пара файлов. У них есть прозрачность. Но программа на них плющится и крешится, в bmp они не конвертятся - лишь по пикселям, а в таком случае неясно, откуда брать альфаканал. Они как непрозрачные, но прозрачность-то есть! Даже не меняя их, а лишь сохраняя после загрузки, я получаю нечто ужасающее: ![]() ![]() (Слева - то, что было). Я научился их отфильтровывать - параметр Header.ColorType у них равен трем. У обычных прозрачных - шести, у непрозрачных - трем. А хотелось бы обрабатывать, как и всё остальное. Я ламер, да? Может, есть еще какой-нибудь компонент, который работает с png более универсально? И да, почему тут пусто? А то, может, у меня устаревшая версия. Жизнь - это игра... Сюжет не очень, зато графика - отпад. Последний раз редактировалось IllVDG, 24.02.2011 в 17:18. |
#2
|
||||
|
||||
![]() Окей, тогда, возможно, кто-нибудь знает язык, подобный Delphi. На котором можно решить задачу.
Может, Abode AIR... Жизнь - это игра... Сюжет не очень, зато графика - отпад. |
#3
|
||||
|
||||
![]() Нашел еще один компонент, Graphics32 и какое-то дополнение к нему. Пока - лишь перевод в bmp и обратно:
![]() ![]() Так что предыдущий вопрос еще в силе. У меня в браузере результат непрозрачный. А если сохранить картинку - прозрачный, хоть и не такой, как оригинал. Жизнь - это игра... Сюжет не очень, зато графика - отпад. Последний раз редактировалось IllVDG, 24.02.2011 в 23:13. |
#4
|
|||
|
|||
![]() www.torry.net,
далее в строке поиска пишем png и проверяем полученные ссылки (у меня из первых 4х три - разные библиотеки для работы с png). |
#5
|
||||
|
||||
![]() Большое спасибо.
1. Multilayered PNG Array MPNG v.1.0. Многослойные PNG. 32-битные. Зачем мне это? 2. PNG Components for Code Gear C Builder 2007 v.1.0. У меня Delphi, а не Builder. 3. PNG Componets Plus v.1.00. Оболочка для pngimage, добавляет визуальные компоненты. Глюки pngimage я описал в первом сообщении. 4. PNG Delphi v.1.564. См. п.3. 5. PNG Icon Portfolio v.2010.4. Подпись "D1" меня настораживает. 6. Png Splash Form v.1.0. Нужна Delphi 2009. Просто визуальный компонент. Использует pngdelphi (который официально появился в Delphi 2009). 7. PNG to ICO Converter v.1.0. Это не то. Понятно, почему? 8. Transparent & PNG Support Image Button v.1.0. Мне не нужны кнопочки. Мне нужно работать с png-файлами. Далее: Shown from 1 to 8 of 8. Повторяю, большое спасибо. Вы мне очень помогли. Может, если я смог нарыть то, что я уже нарыл, причем не засветившись тут с этой темой ранее - я все-таки умею пользоваться поиском? Ну, хотя бы в рамках torry.net? Жизнь - это игра... Сюжет не очень, зато графика - отпад. |
#6
|
||||
|
||||
![]() А Graphics32 работает очень неплохо. Надо бы только с этими странными картинками разобраться.
Жизнь - это игра... Сюжет не очень, зато графика - отпад. |
#7
|
||||
|
||||
![]() Все, с первой проблемой (потеря качества) разобрался. Вторая ушла сама собой после перехода на Graphics32. С третьей либо сейчас разберусь, либо объявлю несущественной.
Всем спасибо ![]() Жизнь - это игра... Сюжет не очень, зато графика - отпад. |