diff options
Diffstat (limited to 'icat.go')
| -rw-r--r-- | icat.go | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -234,14 +234,15 @@ func medianCut(img image.Image) color.Palette { func printImg(img image.Image, maxX, maxY, pixelX, pixelY int) error { x := min(img.Bounds().Dx(), maxX) y := min(img.Bounds().Dy(), maxY) - if x != img.Bounds().Dx() || y != img.Bounds().Dy() { - // Try not to stretch the image. - if y == 0 || x != 0 && img.Bounds().Dy()*x <= img.Bounds().Dx()*y*pixelY/pixelX { - y = divRound(img.Bounds().Dy()*x*pixelX, img.Bounds().Dx()*pixelY) - } else { - x = divRound(img.Bounds().Dx()*y*pixelY, pixelX*img.Bounds().Dy()) - } + // Try not to stretch the image. + if y == 0 || x != 0 && img.Bounds().Dy()*x*pixelX <= img.Bounds().Dx()*y*pixelY { + y = divRound(img.Bounds().Dy()*x*pixelX, img.Bounds().Dx()*pixelY) + } else { + x = divRound(img.Bounds().Dx()*y*pixelY, pixelX*img.Bounds().Dy()) + } + + if x != img.Bounds().Dx() || y != img.Bounds().Dy() { dst := image.NewRGBA(image.Rect(0, 0, x, y)) draw.BiLinear.Scale(dst, dst.Bounds(), img, img.Bounds(), draw.Src, nil) img = dst |
