【问题标题】:Resizing transparent jpeg generates image with black background调整透明 jpeg 的大小会生成黑色背景的图像
【发布时间】:2019-05-06 03:08:27
【问题描述】:

我正在使用 Image Resizer 调整图像大小。除了我们的一位客户发布了透明 jpeg 并将该图像调整为 64*64 尺寸之外,一切都按预期工作,生成了一个黑色背景的图像。但是,如果尺寸较大,例如 1024,则效果很好。

    var instructions = new Instructions
        {
            Height = 64,
            Mode = FitMode.Max,
            OutputFormat = "jpeg",
            Width = 64
        };

    var job = new ImageJob(inputStream, outputStream, instructions);

    job.DisposeSourceObject = false;

    job.InstructionsAsString += "&fastscale=true";

    job.Build();

【问题讨论】:

  • 您的客户端是否可以将 PNG 文件重命名为 JPEG?而且您在预处理此文件时没有识别此操作?
  • 我同意这一点,但不知道为什么它在所有较大尺寸上都能按预期工作?
  • 我的观点是因为黑色背景!这可能是一个重命名为 .jpg 的 .png 文件。
  • 有一种方法可以生成透明的 jpeg,我们不能阻止我们的客户上传它们,如果它适用于较大尺寸,它也适用于小尺寸。
  • 据我所知,没有“透明 jpeg”这样的东西。

标签: imageresizer


【解决方案1】:

"fastscale=true" 在我的情况下造成了问题。所以对于所有大于 75 的高度和宽度,它都按预期工作。

所以我添加了以下检查以不包括小尺寸

如果(高度 >= 75 && 宽度>= 75) {

job.InstructionsAsString += "&fastscale=true";

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    相关资源
    最近更新 更多