AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm Design mit TPNGObject

Ein Thema von sportkeks · begonnen am 29. Aug 2012 · letzter Beitrag vom 1. Sep 2012
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:10
Paintbox.Canvas.Draw(x,y,PNGIMG) behält doch alle Transparenzen bei, oder habe ich Dich falsch verstanden ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
sportkeks

Registriert seit: 29. Apr 2009
73 Beiträge
 
#2

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:16
Ja das ist richtig aber ich möchte ja vorher auf ein Offpng zeichnen um das mal zu verdeutlichen:

Delphi-Quellcode:
Offpng.Canvas.Draw(0,0,png1);
Offpng.Canvas.Draw(0,100,png2);
Offpng.Canvas.Draw(0,200,png3);
Offpng.Canvas.Draw(0,300,png4);

Paintbox.canvas.draw(0,0,offpng);
schreibe ich das so...:

Delphi-Quellcode:
Paintbox.canvas.draw(0,0,png1);
Paintbox.canvas.draw(0,100,png2);
Paintbox.canvas.draw(0,200,png3);
Paintbox.canvas.draw(0,300,png4);

...endet das in einem wildem geflacker der Paintbox
Now we're taking a break to eat some cake.

Geändert von sportkeks (29. Aug 2012 um 14:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:27
vielleicht hilft Dir das, der Teil in Button1 ist bis auf
SetAlpha(bmp2,0);
realtiv uninteressant ....

Delphi-Quellcode:
type
  pRGBQuadArray = ^TRGBQuadArray;
  TRGBQuadArray = ARRAY[0..$effffff] OF TRGBQuad;


Procedure SetAlpha(bmp:TBitMap;Alpha:Byte);
var
 pscanLine32 : pRGBQuadArray;
 i,j:Integer;
 begin
   Bmp.PixelFormat := pf32Bit;
   bmp.HandleType := bmDIB;
   bmp.ignorepalette := true;
   bmp.alphaformat := afDefined;
   for i := 0 to bmp.Height -1 do
     begin
     pscanLine32 := bmp.Scanline[i];
     for j := 0 to bmp.Width -1 do
        begin
          pscanLine32[j].rgbReserved := Alpha;
          pscanLine32[j].rgbBlue := 0;
          pscanLine32[j].rgbRed := 0;
          pscanLine32[j].rgbGreen := 0;
        end;
     end;
 end;


procedure TForm5.Button1Click(Sender: TObject);
var
  Bmp,bmp2: TBitmap;
  p : TPNGImage;

begin
  Bmp2:=TBitmap.Create;
  bmp2.Width := 300;
  bmp2.height := 300;
  SetAlpha(bmp2,0);
  p:=TPNGImage.Create;
  try
    p.LoadFromFile('C:\Icons\IconCollection\ix_ap_all\48x48\shadow\about.png');

    bmp2.Canvas.Draw(20,20,p);
    bmp2.Canvas.Draw(50,50,p);
    bmp2.Canvas.Draw(150,50,p);
    bmp2.Canvas.Draw(50,150,p);
    Canvas.Draw(100,100,bmp2);
  finally
    bmp2.Free;
    p.Free;
  end;

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
sportkeks

Registriert seit: 29. Apr 2009
73 Beiträge
 
#4

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:38
Ja die Procedure kommt mir bekannt vor die habe ich auf meiner suche auch schon mal gesehen

aber leider kann ich damit nur die Tansparenz des gesamten Tbitmaps einstellen und nicht wie bei PNG einzelne Bereiche

als beispiel: (siehe Anhang)

in der Mitte eher undurchsichtig,...
...aber der "Schein" rings rum faded gemächlich aus.

und so möchte ich es auch haben

aber trotzdem Danke für den Beitrag
Angehängte Grafiken
Dateityp: png png-transparent.png (6,7 KB, 8x aufgerufen)
Now we're taking a break to eat some cake.

Geändert von sportkeks (29. Aug 2012 um 14:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:42
Dann haben wir uns noch nicht richtig verstanden, bei mir sieht es aus wie im Anhang, wie soll es denn aussehen ?
Angehängte Grafiken
Dateityp: png Bild 1.png (45,7 KB, 29x aufgerufen)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
sportkeks

Registriert seit: 29. Apr 2009
73 Beiträge
 
#6

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:53
ja genau so soll es aussehen !!! aber so bekomme ich es nicht hin welche Delphi Version nutzt du ????

In turbodelphi gibt es anscheinend kein

bmp.alphaformat := afDefined; deswegen hat es bei mir auch nie funktioniert

aber das wäre dem ziel schon sehr nah
Now we're taking a break to eat some cake.

Geändert von sportkeks (29. Aug 2012 um 14:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Programm Design mit TPNGObject

  Alt 29. Aug 2012, 14:57
Ich verwende XE, von Turbodelphi habe ich keine Ahnung, gegf. kommst Du dort mit GDI+ weiter?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 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