Problem mit unscharfen Bitmaps

Wir haben hier schon öfters ein Problem mit unscharfen Bitmaps in Blend.
Das Icon ist im Photoshop wunderbar scharf, in Blend allerdings ist es
sehr unterschiedlich. Ich habe jetzt ein Dokument entdeckt in dem das
Problem genauer beschreiben wird:
http://blogs.msdn.com/dwayneneed/archive/2007/10/05/blurry-bitmaps.aspx
Das funktioniert leider immer noch nicht immer und es gibt sogar ganz
geringe Unterschiede wie man es an diesem Beispiel sieht:
http://www.design-animation.de/tmp/Blurry%20icons.png
Die roten Rahmen markieren wo ein Unterschied zu seheh ist.
Für Tipps wie das zu lösen ist wäre ich echt dankbar.
:
- Anmelden oder Registrieren um Kommentare zu schreiben
-

Habt Ihr das hier schon
Habt Ihr das hier schon ausprobiert? http://blog.actiprosoftware.com/post/How-to-prevent-blurry-images-and-li...
Viele Grüße,
Daniel Greitens
MVP Visual Developer Expression
http://www.maximago.de
Ja, das haben mir die
Ja, das haben mir die Entwickler gestern gezeigt und die Ergebnisse scheinen wirklich zu funktionieren. Ich hatte auch Kontakt zu Microsoft und die Bestätigen das dies ein WPF Problem ist und Blend nix dafür kann
Auf jeden Fall ist das Problem damit scheinbar gelöst (muss mal abwarten bis komplexere Ergebnisse vorliegen).
Danke aber für den Link.
:
Scharfe Bitmaps / PNGs
Hallo Zusammen,
ich bin gerade dabei mir Blend 3 anzueignen. Auf der Suche nach dem "Bitmap-Problem" bin ich auf diesen Post gestoßen. Ich habe mir das oben angegebene File runtergeladen. Nun meine Frage: wie binde ich das in mein Projekt ein? Ich sehe hier eine "Bitmap.cs" datei. Reicht das wenn ich diese in mein Projekt einbinde? Muß ich sonst noch auf irgenwelche anderen Einstellungen achten? Und funktioniert das ganze auch mit PNGs oder muß ich meine Icons zuerst in Bitmaps umwandeln?
Viele Grüße
nod
Hey nod, ich kenne die
Hey nod,
ich kenne die angegebene Komponente leider nicht, kann dazu also wenig sagen, aber wenn du WPF 4 einsetzen kannst/willst, dann gibt es jetzt die UseLayoutRounding Property bei Elementen:
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.uselayoutrounding(v=VS.100).aspx
Wenn du die in dem umgebenen Container auf true setzt, dann sollte das enthaltene Bild/Icon/Symbol scharf dargestellt werden.
Gruß
Timo
Hi Timo, vielen Dank für den
Hi Timo,
vielen Dank für den Hinweis. Ist dies schon in Blend 3 enthalten oder hat dies mit Blend nichts zu tun? Blend 4 RC ist ja grad raus.
Falls noch jemand weiß wie ich die Komponente (ImageSnappingToPixels) in Blend 3 benutze wäre ich dankbar um einen Ratschlag.
Grüße
nod
Komponente in eigenem Control
So, wie die Komponente anzuwenden ist habe ich mittlerwile rausgefunden. Bleibt aber dennoch eine Frage. Ich möchte gerne in meinem Control (Button) die möglichkeit haben ein Icon dazustellen. Wie binde ich nun das Bitmap-Control in mein Button-Control ein, so dass ich später unter Eigenschaft nur den Pfad zum BMP/PNG hinzufügen muß?
Sorry bin noch Anfänger
LayoutRounding hat nichts mit
LayoutRounding hat nichts mit der Darstellung von Bitmaps zu tun, sondern nur damit, wie der Randbereich der Elemente gerendert wird!
Wenn beispielsweise zwei Rectangles in identischer Farbe in einem StackPanel nebeneinander liegen, dann sieht man in der Regel eine leichte Linie zwischen den Beiden. Das liegt daran, dass sich (vor allem bei scaleTransform) Positionen ergeben, die nicht exakt mit den Pixel-Positionen übereinstimmen. Artifakte ausder Sub-Pixel-Berechnung nennt sich das auch.
Um das gerade zu ziehen, kann für jedes UIElement die Eigenschaft UseLayoutProperty auf true setzen.
Vor WPF 4 stand dazu die Eigenschaft SnapToDevicePixel zur Verfügung, in WPF 4 haben sie es an Silverlight angeglichen und in beiden Varianten heißt es "UseLayoutRounding".
Mehr Infos hier:
http://blogs.msdn.com/text/archive/2009/08/27/layout-rounding.aspx
http://msdn.microsoft.com/de-de/library/system.windows.uielement.uselayoutrounding(VS.95).aspx
http://msdn.microsoft.com/en-us/library/system.windows.uielement.snapstodevicepixels(VS.100).aspx
Und zur vorherigen Frage:
Und zur vorherigen Frage: Schau Dir mal das Tutorial
"Silverlight: Programmieren eines Custom Controls von 0 bis 100 (PDF)" unter
http://yourexpression.de/content/video-casts-zu-silverlight an. Das sollte in guter Start sein. Ansonsten werde ich in Kürze einen neuen Webcast genau mit diesem Thema entweder hier auf yourExpression oder aus MSDN publizieren.
Vielen Dank für die Links und
Vielen Dank für die Links und die Tips! Es funktioniert
Beste Grüße
nod