denprox Опубликовано 5 апреля, 2017 Поделиться Опубликовано 5 апреля, 2017 Всем привет! Подскажите, как программно применить TransparentColor для TImage которые динамически создаются. Пишу так, но эффекта ноль... MultiResBitmap.TransparentColor := TColorRec.White; p.s. фотошоп не предлагать, нужно именно указать цвет прозрачности Цитата Ссылка на комментарий
0 denprox Опубликовано 6 апреля, 2017 Автор Поделиться Опубликовано 6 апреля, 2017 Решение найдено: procedure SetTransparent(oBmp: TBitmap); var bmpData: TBitmapData; colorToMakeTransparent: TAlphaColor; transparentColor: TAlphaColor; color: TAlphaColor; x,y: Integer; begin oBmp.Map(TMapAccess.ReadWrite, bmpData); colorToMakeTransparent := bmpData.GetPixel(0,0); transparentColor := $00000000; for x := 0 to bmpData.Width do begin for y := 0 to bmpData.Height do begin color := bmpData.GetPixel(x,y); if (color = colorToMakeTransparent) then bmpData.SetPixel(x,y,transparentColor); end; end; oBmp.Unmap(bmpData); end; procedure TForm1.Button1Click(Sender: TObject); var img: TImage; begin img := TImage.Create(Self); with img do begin Parent := Self; Position.X := 136; Position.Y := 16; Width := 257; Height := 321; Bitmap.LoadFromFile(ExtractFilePath(ParamStr(0))+'123.png'); SetTransparent(Bitmap); end; end; Цитата Ссылка на комментарий
Вопрос
denprox
Всем привет! Подскажите, как программно применить TransparentColor для TImage которые динамически создаются.
Пишу так, но эффекта ноль...
p.s. фотошоп не предлагать, нужно именно указать цвет прозрачности
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.