Warum führt das Zeichnen einer Form zu einer Bitmap dazu, dass die Form verschwommen ist, anstatt die Form direkt auf die Leinwand zu zeichnen?Warum reduziert das Zeichnen einer Form zu einer Bitmap die Qualität?
Antwort
Bitmap ist eine rasterized computer image, bestehend aus Punkten (Pixel).
Die Canvas-Klasse enthält die Aufrufe "draw".
Eine Form ist eine abstrakte Definition der Form (Vektor-like).
die Form direkt auf die Leinwand Zeichnung
Das ist nicht genau, vielleicht meinen Sie direkt auf dem Bildschirm des Geräts, die zu Bitmap ist.
Um Canvas
zum Zeichnen zu verwenden, benötigen Sie die Zeichenfläche zum Hosten der Aufrufe, eine Bitmap als Ziel und einige Zeichnungsgrundelemente (Form ist eins) und Paint (enthält Informationen zum Zeichnen der Zeichnungsgrundelemente).
Sobald Sie irgendeine Form in die Ziel-Bitmap zeichnen, wird es auf die Pixel des Zielbitmap aliased werden. Ie. Ein Kreis wird zu einer Annäherung, die durch rechteckige Pixel der Ziel-Bitmap erzeugt wird. In Ihrem speziellen Fall sehen Sie wahrscheinlich, dass Ihr Bitmap eine niedrigere Auflösung als der Bildschirm hat. Wenn Sie dieses Bitmap mit niedriger Auflösung auf die Zielbildschirm-Bitmap zeichnen, wird es durch einen Filter hochskaliert, der das hochskalierte Bild a macht Bit verschwommen, um große rechteckige Pixelierung zu vermeiden (oder es kann auch anders sein, Downscaling Hi-Res-Bitmap, die zu scharfe/dünne Konturen enthält, die Aliasing zweiten Mal Alias wird, wenn sie herunterskaliert, und sogar mit Anti-Alias-Filter wird es unscharf ein bisschen). Oder vielleicht verwenden Sie etwas Farbe mit Einstellungen, die Unschärfe verursachen (unwahrscheinlich, ich kann nicht daran denken, aus Versehen eine zu erstellen, die Sie kennen würden).
Wenn Sie für beide Ziele Bitmap mit identischer Dichte (Auflösung eines einzelnen Pixels) und derselben Malmethode verwenden, ist das Ergebnis dasselbe und auch das Zeichnen der Form von Bitmap zu Bitmap, solange Sie verwenden Ganze Pixelkoordinaten/-größe und keine Filterung, das Ergebnis ist wieder dasselbe wie das direkte Zeichnen auf die Bildschirm-Bitmap.
Beginnen Sie also zuerst mit der Überprüfung der Bitmap im Vergleich zur Bildschirm-Bitmap und überprüfen Sie dann die Maleinstellungen und zusätzliche Zeichenflächenargumente, um die Bitmap zu zeichnen, unabhängig davon, ob Sie sie mit einer Art Filterung hoch- oder herunterskalieren.
Danke, ich denke, die Ursache wahrscheinlich ist, dass die Bitmap aufgrund es 1920 verkleinert wird x 1920 sein und mein Ziel Bildschirmgröße 1080 ist x 1920 – Shpanders
@Shpanders erster identische Größen versuchen, um zu sehen, ob es nicht beteiligt ist etwas zusätzliche Filterung in der Paint-Bitmap-Draw-Methode (wie beim Zeichnen der gleichen Größe im Maßstab 1.0, aber zum Beispiel an der Position 0.5.0.5, würde das bei einigen Zeichnungs-Engines/Einstellungen eine Filterung verursachen, um das Original um ein halbes Pixel zu verschieben). ... Wenn die Zeichnung im Maßstab 1: 1 scharf ist, sollten Sie nur den ausgeschnittenen Bereich (ohne Berücksichtigung des Bereichs außerhalb der Bildschirmgröße) 1080x1920 des zu zeichnenden 1920x1920 in Betracht ziehen, aber vielleicht können Sie auch nur mit der Bildschirmgröße beginnen . – Ped7g
- 1. Schreckliche ImageView Bitmap-Qualität?
- 2. Bitmap-Skala zerstören Qualität
- 3. Zeichnen Fontawesome zu Bitmap
- 4. Zeichnen einer Form in einem UIImageView IOS
- 5. Zeichnen einer Probe, die die Form der Mutter Probe ändert
- 6. Warum ist die Qualität von <video> drastisch reduziert, wenn auf <canvas> gezeichnet?
- 7. Qualität einer Schätzfunktion
- 8. Zeichnen einer Form mit einer Schaltfläche (Python Tkinter)
- 9. Warum reduziert die Bindung die Liste?
- 10. Bitmap verliert seine Qualität nach dem Drehen der Leinwand
- 11. Zeichnen über eine Bitmap geladen in einer Picturebox
- 12. Löschen einer Bitmap in .Net
- 13. Bitmap Zeichnen statt Rect
- 14. Konvertieren von Bitmap zu zeichnen in Android
- 15. Wie auf Bitmap in Android zu zeichnen?
- 16. Wie berechne ich das Nahfeld einer Bitmap?
- 17. Zeichnen auf C# Bitmap mit C++
- 18. Zeichnen/Malen äußere Form
- 19. Wie zeichnest du eine Zeichenkette zu einer Bitmap in Silverlight?
- 20. Konvertieren einer 1 Bit Bitmap zu 8 Bit Bitmap Xamarin
- 21. Das Zeichnen einer Bitmap auf eine andere erzeugt ein verzerrtes Bild
- 22. Android Leinwand, wie man etwas unter einer bestehenden Form zeichnen?
- 23. Überschreiben einer Bilddatei (Bitmap)
- 24. Android zeichnen Bitmap auf Polygonen
- 25. Text auf einer Bitmap zentrieren
- 26. C# Zeichnen einer Bitmap an einem bestimmten Punkt in einer PictureBox
- 27. Wie reduziert das Observer-Muster die Kopplung?
- 28. Das C# -Paint-Programm erstellt keine Zeilen auf dem Bildschirm, seit ich versucht habe, mit einer Bitmap zu zeichnen
- 29. Proportionale Größenanpassung einer Bitmap
- 30. android Shape innerhalb einer Form
es nicht: Zeichnung zeichnet - in beiden Fällen Sie die 'Canvas' verwenden – pskink
Sind Sie sicher? Ich zeichne gerade eine Reihe von Formen zu einer Bitmap und zeichne diese Bitmap dann auf eine Leinwand und die Formen sind nicht annähernd so scharf, als ob ich die Formen direkt auf die Leinwand ohne die Bitmap zeichnen würde. Post – Shpanders
Code dann – pskink