# Bilder auf Retina darstellen

**URL:** <https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313>\
**Category:** Deutsch\
**Created:** [February 13, 2015, 10:32am UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313 "2015-02-13T10:32:05Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stefan\_Sicurella](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@Stefan\_Sicurella](https://forum.xojo.com/u/Stefan_Sicurella)\
**Post date:** [February 13, 2015, 10:32am UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/1 "2015-02-13T10:32:05Z")

</div>

Hi,

wie löse ich denn idealerweise die Darstellung von Bildern auf den verschiedenen Bildschirmen?

Im Moment mache ich es so, dass ich von allen Bildern 2 Versionen habe und sie dann so darstelle.

```
if ScalingFactor>1 then // Retina
  g.DrawPicture (pic@2,0,0,g.Width, g.Height, 0, 0, pic@2.Width, pic@2.Height)
else
  g.DrawPicture pic,0,0
end if

```

Ganz konkret geht es um eine neue App, an der ich gerade dran sitze, dort sollen Bilder bildschirmfüllend dargestellt werden, sofern sie groß genug. Sind sie kleiner wird es zentriert auf dem Schirm angezeigt in der maximalen Größe.  
Wäre es denn hier nicht sinnvoller ein jpg mit einer höheren dpi Zahl zu verwenden, zB 144 dpi, dann bräuchte ich doch nur 1 Bild, das dann auf allen Geräten gut aussieht oder?

---

<div class="post-metadata">

**Author:** ![Beatrix\_Willius](https://forum.xojo.com/user_avatar/forum.xojo.com/beatrix_willius/32/282_2.png) [@Beatrix\_Willius](https://forum.xojo.com/u/Beatrix_Willius)\
**Post date:** [February 13, 2015, 10:35am UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/2 "2015-02-13T10:35:41Z")

</div>

Es kommt auf den Skalierungs-Algorithmus an. Der von Xojo ist nicht der beste. Auerdem schrfe ich beim Verkleinern immer nach.

---

<div class="post-metadata">

**Author:** ![Stefan\_Sicurella](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@Stefan\_Sicurella](https://forum.xojo.com/u/Stefan_Sicurella)\
**Post date:** [February 13, 2015, 10:43am UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/3 "2015-02-13T10:43:30Z")

</div>

Ok, es geht hier nicht um eine Foto-App, will damit sagen, es kommt nicht darauf an ob es bessere Algorithmen gibt.

Ich frage mich nur. bekomme ich mit einem Bild in 300 dpi alle Bildschirme abgedeckt und habe ein scharfes Bild?  
Kann Xojo überhaupt mit 300dpi Bildern umgehen oder werden die immer in 72 dpi angezeigt?

---

<div class="post-metadata">

**Author:** ![Tomas\_J](https://forum.xojo.com/user_avatar/forum.xojo.com/tomas_j/32/311_2.png) [@Tomas\_J](https://forum.xojo.com/u/Tomas_J)\
**Post date:** [February 13, 2015, 11:05am UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/4 "2015-02-13T11:05:52Z")

</div>

Bei mir klappt das mit den @x2 Grafiken und Scalefactor ganz gut. Etwas nachschrfen musste ich bisher nie, erstelle die Grafiken aber auch mit einem Vektorprogramm und exportiere dann direkt in die passenden Gren. Auf eine Sache musst Du aber in Xojo aufpassen:

Auf Systemen mit mehreren Bildschirmen (z.B. Macbook Pro Retina und einem externen, normalen Bildschirm) musst Du die Abfrage in die .Moved bzw. .Restored Events des Fenstern mit rein packen. Sonst wird Dir dann das hochaufgelste Bild auf dem Nicht-Retina Display (dann natrlich zu gro und abgeschnitten) angezeigt oder umgekehrt.

---

<div class="post-metadata">

**Author:** ![Stefan\_Sicurella](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@Stefan\_Sicurella](https://forum.xojo.com/u/Stefan_Sicurella)\
**Post date:** [February 13, 2015, 11:56am UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/5 "2015-02-13T11:56:32Z")

</div>

sieht so aus, als könne Xojo mit 300dpi Bildern umgehen, d.h. ich kann auf die @x2 Bilder verzichten…

---

<div class="post-metadata">

**Author:** ![Stefan\_Sicurella](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@Stefan\_Sicurella](https://forum.xojo.com/u/Stefan_Sicurella)\
**Post date:** [February 14, 2015, 8:18pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/6 "2015-02-14T20:18:38Z")

</div>

Ja perfekt, man kann ein jpg mit 144 dpi nehmen, damit hat man die @x2 Geschichte umgangen und spart ein Bild ein. Nimmt man 300 dpi kann man auch zukünftige 7K Bildschirme bedienen (-:  
Allerdings wird meine Mini-App mit 50 Bildern dann gigantisch…

---

<div class="post-metadata">

**Author:** ![DetlefK](https://forum.xojo.com/user_avatar/forum.xojo.com/detlefk/32/23653_2.png) [@DetlefK](https://forum.xojo.com/u/DetlefK)\
**Post date:** [February 16, 2015, 3:02pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/7 "2015-02-16T15:02:06Z")

</div>

> [@167658:Stefan Sicurella](#):
>
> Ja perfekt, man kann ein jpg mit 144 dpi nehmen, damit hat man die @x2 Geschichte umgangen

Was würde denn passieren, wenn ich die Auflösung der von mir verwendeten Grafiken von 72 dpi auf 144 dpi erhöhe,  
sieht es dann beispielsweise auf einen @x2-Bildschirm “besser” aus? Läßt sich so dann die @x2-Geschichte umgehen?

---

<div class="post-metadata">

**Author:** ![Stefan\_Sicurella](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@Stefan\_Sicurella](https://forum.xojo.com/u/Stefan_Sicurella)\
**Post date:** [February 16, 2015, 3:29pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/8 "2015-02-16T15:29:37Z")

</div>

Ja genau, sie lsst sich damit umgehen, es gibt dabei aber zu beachten:

1. Einfach ein Bild von 72 auf 144 zu ndern zB in PS, verdoppelt zwar die Dichte, aber das muss dann nicht schrfer werden, es fehlen ja die Bildinformationen. Anders herum gesagt, ffne also das @x2 Bild in PS, halbiere die Gre und setze dpi auf 144, dann hast du das, was ich oben beschrieben habe.  
Wenn du ein Bild neu erstellst, um was reinzumalen, dann setze es gleich auf 144 dpi

2. du musst das Bild immer so in das Canvas malen, damit das klappt:

---

<div class="post-metadata">

**Author:** ![DetlefK](https://forum.xojo.com/user_avatar/forum.xojo.com/detlefk/32/23653_2.png) [@DetlefK](https://forum.xojo.com/u/DetlefK)\
**Post date:** [February 17, 2015, 3:54pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/9 "2015-02-17T15:54:38Z")

</div>

Wenn ich in GraphicConverter, der Anwendung, die ich verwende, die Dichte verdoppele (72 → 144), habe ich automatisch auch eine doppelt so hohe Auflösung in Pixel.

Ich sehe in der if ScalingFactor\>1-Zeile die Argumente pic.width/2 und pic.Heigth/2,  
die bedeuten, daß das 144-er Bild auf die Hälfte skaliert wird.

Letztlich soll es dadurch genausogroß dargestellt werden wie das 72-er Bild in seiner Originalgröße.

> [@167991:Stefan Sicurella](#):
>
> Anders herum gesagt, öffne also das @x2 Bild in PS, halbiere die Größe und setze dpi auf 144, dann hast du das, was ich oben beschrieben habe.

Im angesprochenen GraphicConverter funktioniert es nur auf die von dir beschriebene Vorgehensweise, also erst zu halbieren, dann dpi auf 144 zu setzen.  
Wenn ich es anders herum mache (erst auf 144 erhöhen, dann halbieren), dann habe ich am Ende wieder 72 dpi.

Danke für die oben geschriebenen Codezeilen, denn die muß ich mir für die Zukunft merken.

---

<div class="post-metadata">

**Author:** ![Ulrich\_Bogun](https://forum.xojo.com/user_avatar/forum.xojo.com/ulrich_bogun/32/1864_2.png) [@Ulrich\_Bogun](https://forum.xojo.com/u/Ulrich_Bogun)\
**Post date:** [February 17, 2015, 4:05pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/10 "2015-02-17T16:05:51Z")

</div>

Ich würde dir raten, mal in AppWrapper [http://www.ohanaware.com/appwrapper/](http://www.ohanaware.com/appwrapper/) zu schauen, oder deine Bilder als NSImage via MacOSLib oder MBS zu verwalten. Der schlechtere Skalierungsalgorithmus von Xojo macht sich nämlich extrem bei den Verkleinerungen bemerkbar. Wenn du ein x2-Bild nimmst und mit Xojo-Bordmitteln runterskalierst, verliert es auch mit Nachschärfen reichlich an Qualität  im Endeffekt bleibt einem dann nicht viel anderes, als doch zwei optimierte Bilder mitzuschleifen.  
Mit den Skalierungsmethoden von NSImage kannst du sogar ein App-Icon auf Menüzeilengröße skalieren und es sieht immer noch scharf und ansehnlich aus. Irgendwo hatte ich dazu mal Bilder  ich schau mal, ob ich den Vergleich noch finde 

EDIT: Ja, hier: [https://forum.xojo.com/16089-much-better-macoslib-nsimage-picture-conversion-quality](https://forum.xojo.com/16089-much-better-macoslib-nsimage-picture-conversion-quality)

---

<div class="post-metadata">

**Author:** ![DetlefK](https://forum.xojo.com/user_avatar/forum.xojo.com/detlefk/32/23653_2.png) [@DetlefK](https://forum.xojo.com/u/DetlefK)\
**Post date:** [February 18, 2015, 3:29pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/11 "2015-02-18T15:29:38Z")

</div>

AppWrapper nutze ich bereits, vor allem, um Hilfe-Dateien, Programmkategorie und (nun auch) Codesignierung reinzubringen.  
Bei der Gelegenheit habe ich auch den RetinaKit mitbezahlt und sollte mir den mal nher ansehen.

Zwei Bilder zu verwenden, sehe ich als die sicherere Methode an.

---

<div class="post-metadata">

**Author:** ![system](https://forum.xojo.com/uploads/default/original/1X/455b4dcc0e61630e9f81940004ddffa49c432a46.png) [@system](https://forum.xojo.com/u/system)\
**Post date:** [October 29, 2020, 5:38pm UTC](https://forum.xojo.com/t/bilder-auf-retina-darstellen/22313/12 "2020-10-29T17:38:14Z")

</div>


