如何完全禁用透明度給出PNGObject
?順便說一句,我使用1.564版的PNGImage單元。如何禁用透明度PNG
3
A
回答
8
我不認爲這是可能永久禁用TPNGObject
圖像的透明度。或者至少我找不到這樣做的財產。它應該是由一個屬性當您分配或加載圖像,因爲控制,則TPNGObject
從指定的圖像文件接收圖片參數(包括透明度)。
因此,作爲一種變通方法我寧願使用RemoveTransparency
程序後,當您加載或指定圖像:
uses
PNGImage;
procedure TForm1.Button1Click(Sender: TObject);
var
PNGObject: TPNGObject;
begin
PNGObject := TPNGObject.Create;
try
PNGObject.LoadFromFile('C:\Image.png');
PNGObject.RemoveTransparency;
PNGObject.Draw(Canvas, Rect(0, 0, PNGObject.Width, PNGObject.Height));
finally
PNGObject.Free;
end;
end;
1
對於剛剛繪製TPNGObject(德爾福PNGComponents庫)的一些背景顏色(例如:白色),請嘗試以下操作:
uses
PNGImage, PNGFunctions;
procedure TForm1.Button1Click(Sender: TObject);
var png: TPNGObject;
bmp: TBitmap;
begin
try
// load PNG
png := TPNGObject.Create;
png.LoadFromFile('MyPNG.png');
// create Bitmap
bmp := TBitmap.Create;
bmp.Width := png.Width;
bmp.Height := png.Height;
// set background color to whatever you want
bmp.Canvas.Brush.Color := clWhite;
bmp.Canvas.FillRect(Rect(0, 0, png.Width, png.Height));
// draw PNG on Bitmap with alpha blending
DrawPNG(png, bmp.Canvas, Rect(0, 0, png.Width, png.Height), []);
// save Bitmap
bmp.SaveToFile('MyBMP.bmp');
finally
FreeAndNil(png);
FreeAndNil(bmp);
end;
end;
要使用DrawPNG過程,必須包含PNGFunctions單元。
相關問題
- 1. PNG透明度
- 2. 如何讓Tkinter支持PNG透明度?
- 3. MagickNet PNG透明度到JPEG
- 4. PNG透明度與PHP
- 5. Android PNG透明度問題
- 6. php png圖像透明度
- 7. PNG - 保留透明度
- 8. SDL_image PNG透明度錯誤
- 9. CSS中的PNG透明度
- 10. cocos2d png透明度問題
- 11. A-Frame .png透明度
- 12. 修復PNG透明度IE
- 13. Winforms半透明PNG半透明PNG
- 14. Android透明度不適用於PNG
- 15. 使用PNG透明度的IE7動畫
- 16. 如何在透明度調整.NET圖像透明度,GIF和PNG,保持透明度信息
- 17. Dropbox如何在IE上使用透明的PNG +不透明度工作?
- 18. GD透明PNG
- 19. 如何使用css透明png <img>透明?
- 20. 如何用Pycairo輸出透明PNG?
- 21. 如何使用透明度繪製PNG圖像輪廓(邊框)
- 22. 如何使用ImageMagick將透明度添加到PNG圖像
- 23. 如何使用透明度保存PNG文件?
- 24. 如何在PHP中使用透明度調整png的大小?
- 25. 如何使用NSBitmapImageRep創建透明度爲8位的PNG?
- 26. glFog導致透明PNG失去透明度
- 27. 將透明PNG轉換爲JPG時覆蓋透明度顏色
- 28. 覆蓋png中的透明度也使背景透明
- 29. PHP:添加透明PNG到不透明度的JPEG
- 30. 順差是透明,同時使用PNG透明和不透明
是什麼意思禁用透明度?你是否想將顏色格式/位深度設置爲Truecolor?這是每個像素24位,沒有alpha。 –
@大衛是! :) –
@Roberts,爲什麼你想不透明度PNG?我想如果你想要的話,您可將TPngImage對象到一個新的TBitmap對象,然後重新分配TBitmap對象回TPngImage對象。我不是100%肯定這會起作用,但我認爲它應該。 – Elling