Измените размер изображения PNG

Привет! Вы могли сказать мне, как изменить размер изображения .png. Или лучше дайте пример. Я искал ответ в течение долгого времени, и кажется, что никто не знает, как изменить размер изображения .png и сохранить его прозрачность. :(

5
задан serhiyiv 13 March 2010 в 08:08
поделиться

3 ответа

Вы можете использовать Компонент Windows Imaging (WIC) в Delphi 2010. Вы можете загрузить изображение PNG в класс TWICImage , а затем извлечь интерфейс IWICBitmapScaler из его ручка.

Используя IWICBitmapScaler , вы можете увеличивать или уменьшать масштаб изображения.

WIC доступен в Windows Vista и Windows 7. Для Windows XP перед использованием необходимо установить обновление.

2
ответ дан 18 December 2019 в 06:34
поделиться

Первоначальный автор компонента PNGImage (основа собственного компонента Delphi) имел форум, на котором он и другие публиковали фрагменты кода о том, как это сделать вещи, использующие компонент PNGImage.

Перед закрытием форума я взял копии всех фрагментов кода и разместил их на веб-сайте CodeGear Code Central.

Большинство из них, если не все, работают с собственными изображениями PNG и поддерживают альфа-канал.

Вот полный список примеров, включенных в пакет:

  • Smooth вращает объект PNG
  • Изменяет размер TPNGObject, используя алгоритм сглаживания
  • Разбиение одного PNG на несколько меньших
  • Сохраняет изображение как либо растровое изображение, либо png.
  • Образец потомка фрагмента
  • Считывает все фрагменты текста и записывает значения в объект TStrings
  • Отображает окно сообщения с информацией, извлеченной из файла PNG.
  • Находит и вырезает блок из изображения PNG
  • Этот метод преобразует png в объект jpeg
  • Этот метод преобразует png в объект bmp
  • Наложение одного PNG на другой
  • Это делает изображение полупрозрачным
  • Переворачивает изображение png по вертикали и сохраняет обратно
  • Рисует изображение в формате PNG поверх рабочего стола

Вот ссылка: Методы CodeCentral PNG

22
ответ дан 18 December 2019 в 06:34
поделиться

Должен признаться, что у меня нет опыта программной работы с png.
В любом случае, вы найдете некоторые либы здесь. Кроме встроенной поддержки PNG в Delphi, я думаю, вы найдете там все существующие либы (родные для delphi, конечно).

Если ничто не поможет вам там, подумайте об игре с ImageMagick, если возможно... Это швейцарский армейский нож для работы с изображениями, и все, что он может сделать, вполне осуществимо в командной строке

-1
ответ дан 18 December 2019 в 06:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: