AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bild in eine Buttonkomponente??

Bild in eine Buttonkomponente??

Ein Thema von STS301 · begonnen am 17. Feb 2008 · letzter Beitrag vom 18. Feb 2008
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#11

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 18:19
Zitat von DeddyH:
Du könntest das Image laden, abscannen und Dir eine region zusammenbasteln, aber das ist alles Andere als trivial.
bis Image laden komme ich mit, abscannen auch noch aber danach stehe ich auf der Leitung???

wie hast du es eigentlich mit deinem Button gemacht (ich würde es wenn es geht nur ohne GDI+ machen)

unter uns: ich finde die GDi+.dll nicht !!, weder auf msdn noch bei deinem Source

@HalloDu
einen "Runden Button" habe ich ja auch schon geschrieben --> .pas am Anfang
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.314 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 18:25
Zur DLL: schau mal hier (am Besten mit dem IE).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#13

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 18:33
unter deinem Link steht, dass die Seite weggezogen ist und dann werde ich zu "Windows® Server 2003 SP1 Platform SDK Web Install" verlinkt (mit IE 7).

und kannst du mir vielleicht bei meinem Problem weiterhelfen:

bis Image laden komme ich mit, abscannen auch noch aber danach stehe ich auf der Leitung???
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.314 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 18:35
Du müsstest die Form erkennen und dementsprechend eine Region bilden, aber da schreib ich jetzt keinen Source dazu, das ist mir viel zu aufwändig.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#15

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 18:41
na gut danke.
kann mir vielleicht jemand einen Link oder ein Tutorial zu dem von DeddyH angesprochenes Thema geben?
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#16

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 18:48
Delphi-Quellcode:
function CreateBitmapRegion(const ABitmap: TBitmap): HRGN;
var
  lTransparentColor: TRGBTriple;
  lX, lY, lStartX: Integer;
  lPixel: PRGBQuad;
  lExcluded: HRGN;
begin
  if assigned(ABitmap) then
  begin
    result := CreateRectRGN(0, 0, ABitmap.Width, ABitmap.Height);

    ABitmap.PixelFormat := pf32bit;

    lTransparentColor.rgbtRed := GetRValue(ColorToRGB(ABitmap.TransparentColor));
    lTransparentColor.rgbtGreen := GetGValue(ColorToRGB(ABitmap.TransparentColor));
    lTransparentColor.rgbtBlue := GetBValue(ColorToRGB(ABitmap.TransparentColor));

    for lY := 0 to pred(ABitmap.Height) do
    begin
      lPixel := ABitmap.Scanline[lY];

      lStartX := -1;

      for lX := 0 to pred(ABitmap.Width) do
      begin
        if (lPixel^.rgbRed = lTransparentColor.rgbtRed) and
           (lPixel^.rgbGreen = lTransparentColor.rgbtGreen) and
           (lPixel^.rgbBlue = lTransparentColor.rgbtBlue) then
        begin
          if lStartX = -1 then
            lStartX := lX;
        end
        else
        begin
          if lStartX > -1 then
          begin
            lExcluded := CreateRectRGN(lStartX, lY, lX, succ(lY));
            try
              CombineRGN(result, result, lExcluded, RGN_DIFF);
              lStartX := -1;
            finally
              DeleteObject(lExcluded);
            end;
          end;
        end;
        Inc(lPixel);
      end;

      if lStartX > -1 then
      begin
        lExcluded := CreateRectRGN(lStartX, lY, ABitmap.Width, succ(lY));
        try
          CombineRGN(result, result, lExcluded, RGN_DIFF);
        finally
          DeleteObject(lExcluded);
        end;
      end;
    end;
  end
  else
    result := 0;
end;
Liefert dir eine Region zu dem übergebenen Bild, wobei die Region alle Teile ausschliesst, welche die Transparenzfarbe des Bitmaps haben.

Ansonsten: MSDN-Library durchsuchenSetWindowRgn()
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 19:05
Zitat von rollstuhlfahrer:
ne andere version ist die Image-Komponente, die auch angeklickt werden kann. Wenn man das Image auf Transpartent schaltet kanns auch wie ein Button aussehen. Nur der Klick wird auch dann gehaldelt, wenn er nicht auf dem Bild ist...

rollstuhlfahrer
Hallo,

wenn du ein Bitmap benutzt, dann kannst du beim Klicken die Farbe des Pixels unter dem Kursor vom Bild abfragen. Nur wenn die Farbe ungleich von TransparentColor des Bildes ist, dann wird das onMouseDown Ereignis ausgelöst sonst nicht. Alternativ könnte man auch die Maske des Bildes abfragen.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#18

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 19:16
@Muetze1
Danke, was muss ich an dem Source ändern, damit ich das gewünschte Bild bekomme (ich will jetzt nicht zu viel verlangen, ich habe aber überhaupt keine Ahnung was der Source bedeutet )

@bitsetter
stimmt so könnte man es machen, aber es ist leider kein Button
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#19

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 20:21
Kleines Beispiel im Anhang. Damit solltest du dann deinen Button anpassen können.
Angehängte Dateien
Dateityp: zip projects_996.zip (1,6 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#20

Re: Bild in eine Buttonkomponente??

  Alt 18. Feb 2008, 20:27
danke, und hoffentlich ein Bild einfügen können
setzte mich dann morgen damit auseinander :thanks:
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf