Также оказывается, что материалы для разработчиков на PngComponents являются взаимоисключающими. Выбери один.
dButtons Delphi 2010, похоже, действительно не поддерживает прозрачность PNG должным образом, потому что свойство Glyph использует TBitmap для внутреннего использования, TBitmap для растровых изображений и не поддерживает прозрачность PNG должным образом, а TSpeedButton.Glyph не может поддерживать прозрачность тогда ..обновление: Но реальная проблема заключалась в том, что у меня были некоторые внешние вещи (компоненты Developer Express), которые делали поддержку Delphi PNG неработоспособной, с другой стороны, TImage, хотя он все еще TPicture и может поддерживать PNG, также был затронут этим разработчиком. экспресс ошибка
Вопрос уже задавался оВоти ответ показывает, как использовать предварительное смешивание, чтобы прозрачность не превращалась в черные пиксели. Я хочу знать, есть ли другой элемент управления кнопки, который будет использовать альфа-смешанные PNG, загруженные во время разработки, и который не преобразует ресурсы PNG в формат BMP, отбрасывая альфа-канал и вызывая черную границу, показанную здесь.
Короче говоря, этот элемент управления не будет использовать TBitmap и не будет использовать функцию прозрачности цветового ключа, которой обладает все TBitmap.
Повторим, я не спрашиваю, как решить проблему «черного цвета вокруг», и в то же время использую устаревшую функциональность VCL на основе TBitmap / TSpeedButton, поскольку в ней отсутствуют современные функции прозрачности PNG, я прошу заменить ее на что-то еще, что «просто работает».
В качестве вторичного недостатка преобразование небольшого файла .png в ресурс растрового изображения .DFM, по существу, приводит к бесполезному расходу пространства и делает слишком большим содержимое моей формы .DFM. Собственное хранилище формата файлов .png в формате .dfm должно уменьшить размер получаемых форм.
Обновить: Компоненты Png выглядят так, как будто они должны работать, но я получилInvalid Graphic format
ошибка при попытке загрузить png в кнопку Png speed. Обратите внимание, что компонент списка изображений Png не имеет таких проблем. Похоже, что cxLibrary (пакет разработчика Express) ломает вещи. После того, как я удалил все материалы для разработчиков, эта проблема исчезла. Так что, хотя я выбрал Pngcomponents в качестве ответа, если у вас установлен devex, используйте вместо этого их кнопки, а не pngcomponents.