![]() |
wie werden Löcher im Bitmap dargestellt
neues Problem:
wie werden Löcher in einem Bitmap dargestellt, und wie kann man die in OpenGL übermitteln ? ich über mittle die Bits über die Structur RGBQuad
Delphi-Quellcode:
Es funktioniert gut.
RGBQuad.rgbBlue:Byte;
RGBQuad.rgbGreen:Byte; RGBQuad.rgbRed:Byte; RGBQuad.rgbReserved:Byte; Löcher wären jetzt noch interessant. Wie geht sowas ? Hab inzwischen herausgefunden, dass man Alpha-Blending braucht. Kennt jemand ein einfaches Beispiel ?
Delphi-Quellcode:
inc(z);
bmp.canvas.Textout(20,20,inttostr(z)); bmp.Canvas.Brush.Color:=Cllime; bmp.canvas.Textout(50,40,inttostr(z)); dc := GetDC(0); xwidth := bmp.Width; yHeight := bmp.Height; for y := 0 to yHeight-1 do begin l_ptr:=bmp.ScanLine[y]; for x := 0 to xwidth-1 do begin l_r:= l_ptr.rgbBlue; l_ptr.rgbBlue:=l_ptr.rgbRed; l_ptr.rgbRed:=l_r; l_ptr.rgbReserved:=1; texdata[((yHeight-1)-y)*xwidth+x] := l_ptr^; inc(l_ptr); end; end; ReleaseDC(0, dc); if TextureID > 0 then glDeleteTextures(1, @TextureID); glGenTextures(1, @ textureid); glBindTexture(GL_TEXTURE_2D, cardinal(textureid) ); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_linear); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_linear); glTexImage2D(GL_TEXTURE_2D, 0, 3, xwidth, yHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, @texdata); |
AW: wie werden Löcher im Bitmap dargestellt
Siehe
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz