Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2016, 10:53   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Загрузка картинки в sAlphaImageList

Всем добрый день!
Мне нужна помощь с вопросом одним.
Вообщем, есть исходная картинка в формате BMP, например.
Ее размер нужно уменьшить до фиксированного и сохранить в формате PNG.
Все это работает, код ниже.
Но, суть в том, что мне надо потом программно загрузить полученную PNG картинку в sAlphaImageList3 и присвоить кнопке. Проблема в том, что на кнопке у загруженной картинке имеется черный фон, т.е. как бы прозрачности нет
Прошу помощи в том, чтобы картинка загружалась в sAlphaImageList3 c сохранением прозрачности?
Код:
  
 img:=TPicture.Create;
 tBMP:=TBitmap.Create;
 pic:=TBitmap.Create;
 img.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'test.bmp');
  tBMP.Assign(img.Graphic);
  pic.Width:=150;
  pic.Height:=94;
  pic.Canvas.StretchDraw(Rect(0,0,pic.Width,pic.Height),tBMP);
  pic.SaveToFile(ExtractFilePath(ParamStr(0)) + 'test.bmp');

  BMPToPNG(ExtractFilePath(ParamStr(0)) + 'test.bmp',
           ExtractFilePath(ParamStr(0)) + 'test.png');
  Form_Main.sAlphaImageList3.Add(pic,nil);

  tBMP.Free;
  pic.Free;
  img.Free;
Код перевода изображения из BMP в PNG:
Код:
procedure BMPToPNG(const Source,Dest: string);
var
 Bitmap: TBitmap;
 PNG: TPNGObject;
begin
 Bitmap:=TBitmap.Create;
 PNG:=TPNGObject.Create;
 try
  Bitmap.LoadFromFile(Source);
  PNG.Assign(Bitmap);
  PNG.SaveToFile(Dest);
 finally
  Bitmap.Free;
  PNG.Free;
 end;
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 10.06.2016, 19:15   #2
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

...перед сохранением в PNG:
Код:
png.Transparent:= True;
не помогает?
kutani вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка картинки ts-alan ASP.NET 1 09.12.2013 21:19
загрузка картинки nuberod Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 05.12.2013 12:57
Загрузка картинки Terikon JavaScript, Ajax 0 19.05.2013 23:17
Загрузка картинки Lauri Win Api 2 27.07.2012 13:24
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 23:11