Asp.net C#上载白色背景的图像

Asp.net C#上载白色背景的图像,asp.net,Asp.net,我有一个关于用asp.net c#上传图像的问题。希望指定一个固定大小,如800x800px。我想把我的照片放在800x800白色背景的中央,不管大小。就这样, 我不能使用评论,如果我误解了这个问题,很抱歉 您是否尝试将以下css应用于图像: .myWhiteBackground{ height: 800px; width: 800px; } .myImage { position: absolute; top: 50%; left: 50%

我有一个关于用asp.net c#上传图像的问题。希望指定一个固定大小,如800x800px。我想把我的照片放在800x800白色背景的中央,不管大小。就这样,


我不能使用评论,如果我误解了这个问题,很抱歉

您是否尝试将以下css应用于图像:

.myWhiteBackground{
    height: 800px;
    width: 800px;
}

.myImage {
    position: absolute;    
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
例如:


我相信你会简单地以编程方式更改图像的src?

我不能使用注释,如果我误解了这个问题,很抱歉

您是否尝试将以下css应用于图像:

.myWhiteBackground{
    height: 800px;
    width: 800px;
}

.myImage {
    position: absolute;    
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
例如:


我相信您只需要通过编程方式更改图像的src?

如果您想在代码中执行此操作,您将需要大量的src。首先上传图像,在检查旋转时调整其大小。然后应用填充,然后保存或显示结果

    public void WriteImage(string path, int width, int height)
    {
        Bitmap bmp = new Bitmap(path);
        float ratio = bmp.Width / bmp.Height;
        SizeF newsize = new SizeF(width, height * ratio);
        Bitmap newimage = new Bitmap((int)newsize.Width, (int)newsize.Height);

        using (var graphics = Graphics.FromImage(newimage))
        {
            graphics.CompositingMode = CompositingMode.SourceCopy;
            graphics.CompositingQuality = CompositingQuality.HighQuality;
            graphics.SmoothingMode = SmoothingMode.HighQuality;
            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
            graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

            graphics.DrawImage(bmp, 0, 0, width, height);
        }
    }

如果你想在代码中实现这一点,你需要大量的代码。首先上传图像,在检查旋转时调整其大小。然后应用填充,然后保存或显示结果

    public void WriteImage(string path, int width, int height)
    {
        Bitmap bmp = new Bitmap(path);
        float ratio = bmp.Width / bmp.Height;
        SizeF newsize = new SizeF(width, height * ratio);
        Bitmap newimage = new Bitmap((int)newsize.Width, (int)newsize.Height);

        using (var graphics = Graphics.FromImage(newimage))
        {
            graphics.CompositingMode = CompositingMode.SourceCopy;
            graphics.CompositingQuality = CompositingQuality.HighQuality;
            graphics.SmoothingMode = SmoothingMode.HighQuality;
            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
            graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

            graphics.DrawImage(bmp, 0, 0, width, height);
        }
    }

谢谢你的回复。用你的技术,它只会在页面的中央显示一个图像。我也希望这是因为修复上传的图像大小。因此,我无法允许我的页面尝试加载4862x2845图像。抱歉,我不完全理解,如果图像是4862x2845,您想缩小它以适应800px 800px白色背景吗?谢谢您的回复。用你的技术,它只会在页面的中央显示一个图像。我也希望这是因为修复上传的图像大小。因此,我无法允许我的页面尝试加载4862x2845图像。抱歉,我不完全理解,如果图像是4862x2845,您希望缩小它以适应800px 800px白色背景吗?这几乎是我想要实现的。转换base64后,我必须保存此base64转换后的红色背景图像,并完成im。谢谢你的回答,效果很好。不客气。但是,根据您以后要转换的内容,最好将其转换为字节数组,而不是Base64。如果要将图像存储在数据库或文件系统中,最好将文件存储为字节。Base64更适合显示结果。这几乎就是我想要实现的。转换base64后,我必须保存此base64转换后的红色背景图像,并完成im。谢谢你的回答,效果很好。不客气。但是,根据您以后要转换的内容,最好将其转换为字节数组,而不是Base64。如果要将图像存储在数据库或文件系统中,最好将文件存储为字节。Base64更适合显示结果。