AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Um Grafik einen hellen Schein zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Um Grafik einen hellen Schein zeichnen

Ein Thema von napsterxx · begonnen am 6. Jul 2008 · letzter Beitrag vom 14. Jul 2008
Antwort Antwort
Seite 1 von 3  1 23      
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

Um Grafik einen hellen Schein zeichnen

  Alt 6. Jul 2008, 08:55
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.
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
IceTube
(Gast)

n/a Beiträge
 
#2

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 09:16
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:
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;
lg
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 10:03
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
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 10:16
Zeig doch mal ein Screenshoot und skizziere dein Anliegen etwas genauer
Markus Kinzler
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 10:32
http://img3.imagebanana.com/img/3wyzcsvn/screen.jpg

Link:
http://img3.imagebanana.com/view/3wyzcsvn/screen.jpg
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 10:51
Dann erzeuge dir eine Maske für den sichtbaren Teil
Markus Kinzler
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 10:56
Eine Maske?
Also in der Suche finde ich nur ein Ovales Fenster?!?

Geht das so:
http://swissdelphicenter.ch/de/showcode.php?id=582

??
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 11:00
Wenn sich das "sichtbare" Bild mit einer geometrischen Form abgrenzen lässt, umso besser.
Markus Kinzler
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 11:05
Joa also ich abe das jetzt mal hingedeichselt
Ich habe nun einen Button in "S" Form , aber nun fehlt noch dieser leichte Schein darüber. Meine Methode die Helligkeit zu ändern fande ich persönlich jetzt nicht so brickend:
http://www.delphi-treff.de/tipps/grafik/tipp/540/
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Um Grafikeinen hellen Schein zeichnen

  Alt 6. Jul 2008, 11:08
-Anhebung Helligkeit
-2.Bild
-2.Bild per Transparenz
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 17:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz