![]() |
Um Grafik einen hellen Schein zeichnen
Liebe Delphier,
ich würde gerne um das Bild eines TImage einen hellen Schein zeichnen/setzen, sodass der Anwender merkt das er dieses Bild gerade fokusiert hat. Derzeit ändere ich immer de Helligkeit des Bildes, aber ic finde das nicht so eine gute Lösung. |
Re: Um Grafikeinen hellen Schein zeichnen
Kannst du ja mit Canvas machen!
Ich bin nicht so gut mit Canvas, jedoch habe ich mal einen Code für dich geschrieben, welcher einen Kreis um das Bild zeichnet!
Delphi-Quellcode:
lg
procedure TForm2.Image1Click(Sender: TObject);
var r : Trect; begin //Tag 0 -> Nicht markiert, Tag 3 -> Markiert if(Sender AS TImage).Tag = 0 then begin r := (Sender AS Timage).BoundsRect; //Erfassen von den Größen r.Left := r.Left -5; r.Top := r.Top - 5; r.Right := r.Right + 5; r.Bottom := r.Bottom + 5; //Farbe einstellen Canvas.Brush.Color := clCream; Canvas.Pen.Style := psClear; //Kreis zeichnen Canvas.Ellipse(r); //Die Grafik des Images malen //Sonst währe Sie im Hintergrund Canvas.Draw(r.Left+5,r.Top+5,(Sender As TImage).Picture.Graphic); //Markiert (Sender AS TImage).Tag := 3; end else begin //Erfassen von den Größen r := (Sender AS Timage).BoundsRect; r.Left := r.Left -5; r.Top := r.Top - 5; r.Right := r.Right + 5; r.Bottom := r.Bottom + 5; //Farbe einstellen(Hintergrund-Farbe) Canvas.Brush.Color := Form2.Color; Canvas.Pen.Style := psClear; //Zeichnen Canvas.Rectangle(r); //Grafik neu zeichnen, sodass diese wieder zu sehen ist Canvas.Draw(r.Left+5,r.Top+5,(Sender As TImage).Picture.Graphic); //Nicht markiert (Sender AS TImage).Tag := 0; end; end; |
Re: Um Grafikeinen hellen Schein zeichnen
Danke für deine Antwort, aber das ist nicht so wirklich die Lösung wpnach ich suche, denn wenn das Bild keinen Hintergrund hat und z.B. ein S ist dann ist das S ja in einem Kreis, ich möchte aber nur so einen Leichten schein um das S bekommen
|
Re: Um Grafikeinen hellen Schein zeichnen
Zeig doch mal ein Screenshoot und skizziere dein Anliegen etwas genauer
|
Re: Um Grafikeinen hellen Schein zeichnen
|
Re: Um Grafikeinen hellen Schein zeichnen
Dann erzeuge dir eine Maske für den sichtbaren Teil
|
Re: Um Grafikeinen hellen Schein zeichnen
Eine Maske?
Also in der Suche finde ich nur ein Ovales Fenster?!? Geht das so: ![]() ?? |
Re: Um Grafikeinen hellen Schein zeichnen
Wenn sich das "sichtbare" Bild mit einer geometrischen Form abgrenzen lässt, umso besser.
|
Re: Um Grafikeinen hellen Schein zeichnen
Joa also ich abe das jetzt mal hingedeichselt :D
Ich habe nun einen Button in "S" Form :D, aber nun fehlt noch dieser leichte Schein darüber. Meine Methode die Helligkeit zu ändern fande ich persönlich jetzt nicht so brickend: ![]() |
Re: Um Grafikeinen hellen Schein zeichnen
-Anhebung Helligkeit
-2.Bild -2.Bild per Transparenz |
Re: Um Grafikeinen hellen Schein zeichnen
??
Also ich habe ein Bild was leicht durchsichtig ist. Vll kann ich damit was machen. Dummerweise hat das TImage kein Handle, wesalb ich es nicht in die entsprechende Form bringen kann. Könnte ich das würde ich es einfach über das andere legen :D |
Re: Um Grafikeinen hellen Schein zeichnen
Schau dir mal die Methode Bitblt() von TCanvas an
|
Re: Um Grafik einen hellen Schein zeichnen
:( ich versteh es einfach nicht ... ich weis nicht wo und wie ich anfangen soll
|
Re: Um Grafik einen hellen Schein zeichnen
Bitblt() verrechnet 2 Bilder
http://msdn.microsoft.com/en-us/library/ms532278(VS.85).aspx |
Re: Um Grafik einen hellen Schein zeichnen
Und wenn man GDI+ verwendet, kann man auch easy Anti-Aliasing etc. verwenden.
@napsterxx: Schau mal ![]() |
Re: Um Grafik einen hellen Schein zeichnen
Zitat:
Wusste garnicht das Canvas sowas unterstützt. :oops: Du kannst entweder das Bild auswechseln (zweites extra Bild), Bitblt(), wenn ichs richtig versteh, verwenden, oder du machst dir eine Art Maske (z.B. aus einem Graustufen-Bild gelihcer Größe in dem alles schwarz ist, was nicht heller werden soll), mit der du dann die Bereiche bestimmst die heller werden. |
Re: Um Grafik einen hellen Schein zeichnen
@DeddyH
Ja genau, allerdings nicht solch ein stechendes Gelb. Optimal wäre eine Mischung aus: GammaCorrection & Elliptic (Focused Corona) mit einem schwächeren Gelbton |
Re: Um Grafik einen hellen Schein zeichnen
Kann mir jemand helfen wie ich dsa nun mache?^^
|
Re: Um Grafik einen hellen Schein zeichnen
Ich mache das immer ganz anders. Ich mache 2 Bilder in Photoshop, einmal normal und einmal mit dem Ebeneneffekt "Schein nach außen". Dann nutze ich TJvImage aus der JVCL. Dort kann ich ein Bild für den normalen Status angeben und bis zu 4 weitere (MouseOver,Down,Clicked1,Clicked2). Damit ist der Effekt schön machbar (vorrausgesetzt man nutzt PNGs und hat PNGDelphi installiert, damit die Transparenz vom Bild auch korrekt dargestellt wird).
Vorteil: Man muss nichts im Code rumfummeln mit Canvas, GDI+, etc. Nachteil: Man muss immer ein zusätzliches Bild erstellen, was die Datenmenge aufbläst und man lernt weniger :mrgreen: |
Re: Um Grafik einen hellen Schein zeichnen
Aber ein Icon sieht immer anders aus. Einmal ein großes viereck, einmal ein Kreis. Da man die Icons aus dateien laden kann, kann ich a nicht schon ein neues in Photoshop erstellen.
:D |
Re: Um Grafik einen hellen Schein zeichnen
args, okay. Bei so dynamischen Dingen klappt das Konzept natürlich nicht. Dann wirst du um GDI+ und Konsorten nicht herum kommen
|
Re: Um Grafik einen hellen Schein zeichnen
Wenn Du sonst nicht zurecht kommst und es pixelweise versuchen willst, hilft Dir vielleicht
![]() Es gibt aber sicher elegantere Lösungen ;-) stahli |
Re: Um Grafik einen hellen Schein zeichnen
Zitat:
![]() Ich glaub beim Blur-Demo solltest du fündig werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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 by Thomas Breitkreuz