Si j'ai une image dont je connais la hauteur et la largeur, comment puis-je l'insérer dans un rectangle de la plus grande taille possible sans étirer l'image.Faire une image dans un rectangle
Pseudo-code est suffisant (mais je vais l'utiliser en Java).
Merci. Donc, sur la base de la réponse, j'ai écrit ceci: mais cela ne fonctionne pas. Qu'est-ce que je fais de mal?
double imageRatio = bi.getHeight()/bi.getWidth();
double rectRatio = getHeight()/getWidth();
if (imageRatio < rectRatio)
{
// based on the widths
double scale = getWidth()/bi.getWidth();
g.drawImage(bi, 0, 0, (int) (bi.getWidth() * scale), (int) (bi.getHeight() * scale), this);
}
if (rectRatio < imageRatio)
{
// based on the height
double scale = getHeight()/bi.getHeight();
g.drawImage(bi, 0, 0 , (int) (bi.getWidth() * scale), (int) (bi.getHeight() * scale), this);
}
Voulez-vous dire maintenir le rapport d'aspect en termes de montage? –
@SB: Je le pense (je ne comprends pas exactement ce que tu veux dire ...) Donc la fraction de largeur et de hauteur doit être la même par l'image source et l'image mise à l'échelle. –