生成带有白色边框的缩略图

Posted

技术标签:

【中文标题】生成带有白色边框的缩略图【英文标题】:Generate thumbnail with white border 【发布时间】:2010-09-09 14:25:18 【问题描述】:

我需要从一组需要有一个小的白色边框的 jpg 生成缩略图,以便它们在地图上显示时看起来像“照片”。自己获取缩略图很容易,但我不知道如何获取边框。

【问题讨论】:

【参考方案1】:

这里有一个快速的技巧:

public Image AppendBorder(Image original, int borderWidth)

    var borderColor = Color.White;

    var newSize = new Size(
        original.Width + borderWidth * 2,
        original.Height + borderWidth * 2);

    var img = new Bitmap(newSize.Width, newSize.Height);
    var g = Graphics.FromImage(img);

    g.Clear(borderColor);
    g.DrawImage(original, new Point(borderWidth, borderWidth));
    g.Dispose();

    return img;

它创建一个新的Bitmap对象,其大小为原始大小加上边框宽度的2倍,然后在中间绘制原始图像,然后返回完成的图像。

您也可以使用上面的 Graphics 对象进行大量绘图/绘画。

【讨论】:

这里有一点错误陷阱,这是完整的解决方案

以上是关于生成带有白色边框的缩略图的主要内容,如果未能解决你的问题,请参考以下文章

Rails 回形针从其他样式生成缩略图

禁用 Android 相机自动缩略图

Bootstrap4缩略图和面板

带有 ALAsset 缩略图的低清晰度

未生成缩略图

去除 youtube 缩略图上的黑色边框 4:3