![]() |
Re: Bitmap32 auf ZielBitmap32 malen
Die Beispiele sind alles Delphi-Übersetzungen der Orginal-Microsoft-Beispiele. Zum Thema Transparenz z.B.
![]() |
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
|
Re: Bitmap32 auf ZielBitmap32 malen
Zur Not würde es wohl auch über eine Region gehen, denke ich.
|
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
|
Re: Bitmap32 auf ZielBitmap32 malen
Wenn ich eines nicht leiden mag, dann sind es mitten drin per PN weitergeführte Diskussionen. Ich kann mir gut vorstellen, dass das was ihr noch bequatscht durchaus von allgemeinem Interesse sein könnte.
Ich z.B. hab mich mit GDI+ auch noch nicht beschäftigt, und wäre interessiert an Details zu diesem und jenem. |
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
Was mich immer noch interessieren würde betrifft dein letztes posting, meinst Du du könntest mal ein kleines Beispiel machen in meinem Projekt damit ich das auch mal verstehe, bzw. sehe wie Du dir das gedacht hast, ich muß das mal vor Augen haben um das zu verstehen. Jedoch egal wie die Sache ausfällt, wenn ich eine Komponente entwickeln sollte aus diesem Thema stell ich sie eh der allgemeinheit zur Verfügung inkl. Source, da kann dann eh jeder sehen was ich wie gemacht hab, ob nun mit GDI+ oder ohne. Viele Grüße Marc |
Re: Bitmap32 auf ZielBitmap32 malen
Liste der Anhänge anzeigen (Anzahl: 1)
So, ein wenig gebastelt.
... und bitte nicht so etwas, da wird mir ...
Code:
ich hoffe das war nur für das Demo.
[b]procedure[/b] TForm1.[color=#ff005f]ListBox1DrawItem[/color](Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState); [color=#00D000]//...[/color] [b]begin[/b] SelectionLeft := TBitmap32.Create; SelectionMiddle := TBitmap32.Create; SelectionRight := TBitmap32.Create; [color=#ff0000]LoadPNGintoBitmap32(SelectionLeft, ExtractFilePath(ParamStr(0)) + 'leftw.png', Alpha);[/color] [color=#00D000]// <--<<[/color] [color=#00D000]//...[/color] |
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
Ich schau mir das nochmal genau an, aber dass ist genau das was ich wollte! Nein der Code war nur fürs Demo ist noch nix bereinigt. |
Re: Bitmap32 auf ZielBitmap32 malen
So wird es wohl noch die einfachste Methode sein, von Hand die Transparenz abzubilden. Aus der G32-Hilfe:
Zitat:
Was ich mit den Pufferbitmaps meinte, hat TP ja schon prima umgesetzt, so dass ich denke ich dazu nichts mehr schreiben muss. Generell stellt die Lösung von TP für deinen Fall den besten und vor allem einfachsten Kompromiss dar. Ich muss zudem noch eine früher gemachte Aussage korrigieren: Die Sache mit der Variable Alpha. Ich hab übersehen, dass dies ein Out-Parameter der PNG-Ladefunktion ist, wodurch es völlig okay ist ihn nicht zu initialisieren. Ich dachte es wäre ein Parameter mit dem man wählen kann ob man nun den Alphakanal mitnehmen will oder nicht. Wer lesen kann ist klar im Vorteil =) PS: Nichts für ungut in Sachen PN. Da danach hier erstmal nichts mehr passierte, nahm ich an es ginge um dieses Thema :cheers: |
Re: Bitmap32 auf ZielBitmap32 malen
Jepp TP, hat das genial gelöst, mein einziges Problem stellt grad nur die ItemHeight dar, die ja variable ist, nu weiss ich nicht wie ich die Bar nu auf Itemheight angleichen soll da mein Resampler ja nu wech is :-(
|
Re: Bitmap32 auf ZielBitmap32 malen
Du müsstest die Bitmap dynamisch zur Laufzeit zeichnen, dann kannst Du die Höhe ja anpassen.
|
Re: Bitmap32 auf ZielBitmap32 malen
Heisst ansonsten darf itemheight nicht mehr verändert werden?
Bevor ichs vergesse, kann mir jemand verraten wie ich die gepunktete Linie um die Bar wegbekomme, die immer dann auftaucht wenn ich die Textfarbe des Canvas.Fonts ändere? Tritt nur beim 2. TextOut auf (kleine Erweiterung von mir der 2. Textout schreibt mir nun unter die Listitems einen Beschreibungstext zum HauptItem) Wenn bei dem 2. Text die Fontfarbe Canvas.Font.Color gesetzt wird hab ich den Punktrahmen... |
Re: Bitmap32 auf ZielBitmap32 malen
Dann ist die Frage, wie die Bitmap nach dem Stretchen aussieht.
|
Re: Bitmap32 auf ZielBitmap32 malen
Du kannst das ganze auch variabel gestalten, aber ein arbeiten mit Vergrösser und oder verkleinern kalte ich für falsch, bzw.
für den falschen weg. Bei einem vergrössern oder dessen gegentei kommt es zu unschöhnen graphikfehler auch wenn du den bestmöglichen algo. anwendest. Hinzu kommt noch das der algo. mehr zeit zum rechnen braucht. Ein besserer weg wäre das zusammensetzen eine bildes wie ich es im demo angefangen habe. Bei Skinnkomponenten wird auch dieser weg benutzt. |
Re: Bitmap32 auf ZielBitmap32 malen
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm, mir ist das Prinzip von Zusammensetzen noch nicht ganz klar? Muß ich dafür dann die 2 Grafiken von dir in verschiedenen Dimensionen zeichnen und dann wieder zusammenbauen?
|
Re: Bitmap32 auf ZielBitmap32 malen
In der Regel werden nur Bildteile variabel in der Größe gehalten, die entweder horizontal oder vertikal wiederholbar oder verlustfrei streckbar sind. In deinem Fall könnte eine Aufteilung dann ca. so aussehen:
Code:
Auf diese Weise würdest du Kanten und Ecken vor Unschärfe schützen, und lineare Verläufe lassen sich in der Regel gut horizontal und vertikal Strecken, da das auch wieder nichts weiter als eine lineare Interpolation wäre (wenn man den linearen Filter dafür nimmt).
+--+-------------------+--+
|F | H |F | +--+-------------------+--+ | | | | | | | | |V | H |V | | | V | | | | | | +--+-------------------+--+ |F | H |F | +--+-------------------+--+ |
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
|
Re: Bitmap32 auf ZielBitmap32 malen
Die "F"-Teile (also die Ecken) müssen ja nicht skaliert werden.
|
Re: Bitmap32 auf ZielBitmap32 malen
JO stimmt ja ich depp nur die Zwichenteile :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 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