用户可以在我的网站上上传照片。我目前正在压缩照片并调整其大小,以确保它们不是很大的文件。但这会创建尺寸各异的照片……我认为该网站有点“丑陋”。

我想确保缩略图是正方形图像,但不要使用填充。缩略图中的照片有些丢失是可以的。我想保持照片的保真度很高,即使这意味着需要裁剪。

最佳答案

我写了一些代码来做这件事。我之所以选择裁剪,是因为在不保留宽高比的情况下调整大小看起来很可怕。我先裁剪然后调整大小以创建缩略图图像:

  public Bitmap CreateThumbnail(Bitmap RawImage)
    {
        int width = RawImage.Width;
        int height = RawImage.Height;

        Size ThumbnailDimensions = new Size();
        ThumbnailDimensions.Width = 100;
        ThumbnailDimensions.Height = 100;

        Rectangle cropArea = new Rectangle();
        if (width > height)
        {
            cropArea.Width = height;
            cropArea.Height = height;
            cropArea.X = 0;
            cropArea.Y = 0;
        }
        else if (width < height)
        {
            cropArea.Width = width;
            cropArea.Height = width;
            cropArea.X = 0;
            cropArea.Y = 0;
        }
        if(width != height) Bitmap thumbnail = CropImage(RawImage, cropArea);

        thumbnail = ResizeImage(thumbnail, ThumbnailDimensions);
        return thumbnail;
    }


只是从左上角开始裁剪,然后将其调整为我的缩略图尺寸。

07-26 01:11