Question

Je suis en train une icône de taille fixe basée sur une image arbitraire de taille dans un NSOutlineView en utilisant un NSImageCell.

NSImageCell redimensionne l'image vers le bas bien, mais je ne peux pas trouver un moyen d'ajouter un rembourrage autour de l'image à l'échelle. Les lignes laides à mes yeux sans rembourrage.

Ma première passe à la fixation de ce problème consiste à créer une nouvelle image de taille constante, encart ses limites pour rembourrage, puis utiliser drawInRect: fromRect: Fonctionnement: fraction: dessiner une version réduite de l'icône d'origine

Cela fonctionne très bien pour des images carrées. Je l'aurais deviné qu'il y aurait une méthode pratique sur NSImage pour dessiner une centrée, version réduite avec-aspect-constant rapport de l'image dans un rect donné, mais je ne le trouve pas.

Il est évident que je peux calculer une rect appropriée avec le même rapport d'aspect que l'image originale, mais je préfère ne pas réinventer la roue ...

Était-ce utile?

La solution

Chaque exemple de code que j'ai vu utiliser un calcul pour le rembourrage. Il y a une NSImage catégories sur CocoaDev qui font cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top