Wenn ich ein Bild habe, von dem ich die Höhe und die Breite kenne, wie kann ich es in ein Rechteck mit der größtmöglichen Größe passen, ohne das Bild zu strecken.Machen Sie ein Bild in ein Rechteck passen
Pseudo-Code ist genug (aber ich werde das in Java verwenden).
Danke.
Also, basierend auf der Antwort, schrieb ich das: aber es funktioniert nicht. Was mache ich falsch?
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);
}
Meinen Sie Seitenverhältnis in Bezug auf die Armatur halten? –
@SB: Ich denke schon (ich verstehe nicht genau, was du meinst ...) Also der Bruch von Breite und Höhe muss gleich sein von dem Quellbild und dem skalierten Bild. –