AGB  ·  Datenschutz  ·  Impressum  







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

Abgerundete Ecken

Ein Thema von Moony · begonnen am 21. Feb 2008 · letzter Beitrag vom 5. Mai 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#11

Re: Abgerundete Ecken

  Alt 5. Mai 2008, 13:33
ich hab das nochmal mit dinem Code probiert und festgestellt, dass der definierte bereich ggf. nur andersfarbig gemalt wird und deshalb nicht transparent. Ursache dafür war bei meinen Tests die Farbtiefe...

wenn ich bei der initialisierung (vor dem erstellen der Maske) die Farbtiefe beider bitmaps auf 24bit stelle funktioniert es bei mir.

Delphi-Quellcode:
     bmp_mask.PixelFormat:=pf24Bit;
     bmp_tmp.PixelFormat:=pf24Bit;
HTH Frank
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Abgerundete Ecken

  Alt 5. Mai 2008, 14:36
hmm, also hier passiert immer noch das gleiche, nämlich nichts. Egal wie und wo ich das Pixelformat setze, wird mein Bild nicht mit runden Ecken angezeigt.

Ich stelle mal mein Testprojekt diesbezüglich hier rein. Im Programm auf den "Do It Round" - Button klicken.
Angehängte Dateien
Dateityp: zip roundcorner_102.zip (4,1 KB, 14x aufgerufen)
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#13

Re: Abgerundete Ecken

  Alt 5. Mai 2008, 14:55
bei mir funktioniert das... (gesteted mit zapotek.bmp aus windows-verzeichnis und 20er Rundung)

Delphi-Quellcode:
     //resize mask
     bmp_mask.pixelformat := pf24bit;
     bmp_tmp.pixelformat := pf24bit;
     bmp_mask.width := bmp_tmp.width;
     bmp_mask.height := bmp_tmp.height;
was mir auffällt..du hantierst mit image.canvas rum...evtl solltest du die procedure DoItRound auch auf das Canvas ausbauen...auch damit jpegs und andere grafiken unterstützt werden.
weiterhin würde ich die DoItRound so umbauen, dass du rundung,quell und zielcanvas übergibst, damit es unabhängig von dem Formular ist, sowie die prüfungen auf nil (assigned) in die procedure verlagern.

HTH Frank
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Abgerundete Ecken

  Alt 5. Mai 2008, 15:18
Es hat sich rausgestellt, dass es wohl an meinem Bitmap lag. Warum auch immer es bei diesem nicht funktioniert...

Zitat:
evtl solltest du die procedure DoItRound auch auf das Canvas ausbauen
...
Zitat:
auch damit jpegs und andere grafiken unterstützt werden
Das ist ein Testprojekt. Es geht in erster Linie grundsätzlich um die Funktionalität der runden Ecken. Ich muß diese Funktionalität in ein größeres Projekt einbauen. Und dort werden bereits Bilder auf ein Image erstellt und deshalb war es für von Interesse das Ganze auf ein Image.Canvas zu zeichnen.

Somit wird auch auf andere Formate und auf nicht Vorhandensein eines Bildes überprüft.

Eine Frage wirft sich jetzt in dieser Situation noch auf:

Die Bilder werden in ihrer Originalgröße gezeichnet, obwohl von dem Image-Objekt der Wert Strtch bzw. Autosize gesetzt sind. Woran liegt das?
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#15

Re: Abgerundete Ecken

  Alt 5. Mai 2008, 15:34
Zitat von Moony:
Eine Frage wirft sich jetzt in dieser Situation noch auf:

Die Bilder werden in ihrer Originalgröße gezeichnet, obwohl von dem Image-Objekt der Wert Strtch bzw. Autosize gesetzt sind. Woran liegt das?
weil sich TImage.picture.bitmap nicht verändert...du müsstest das canvas als Quelle nehmen...

width,height => Image.width/height
bitblt(image.canvas,0,0,width,height,bmp.canvas,0, 0,srcCopy);

Gruß Frank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:17 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