首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像数据无效,无法使用

图像数据无效,无法使用
EN

Stack Overflow用户
提问于 2014-05-16 01:53:37
回答 2查看 120关注 0票数 0

我有一个复杂的问题可以解决。一点历史..。我以前用Bit.ly生成二维码。它们都停了下来,所以我去谷歌寻求可靠性。

我正在使用quark来处理代码,但我需要在它们进入夸克之前对它们进行配置。使用Bitly,二维码是百分百生成的。然而,当Google生成它们时,它们是在RGB中生成的,其中以灰度生成的比特非常完美。在下载之前,我使用perl的ImageMagick库对图像进行必要的编辑。

到目前为止,这就是我所拥有的。谷歌为我下载的二维码生成了一个链接。因为它是在RGB中,我需要灰度或位图,以便它将与夸克(有效)兼容。

代码语言:javascript
复制
sub ConvertToGrayscale {

my ($imagePath) = @_;
my $OutPath = $imagePath; # $OutPath =~ s/png$/jpg/i;

my $image = Image::Magick->new() or die 'Unable to create new Image Object.';
my $imageReadError = '';
my $imageWriteError = '';

$imageReadError = $image->Read($imagePath); # returns a code if there is an error

if ($imageReadError) {
     warn "Error: $imageReadError.  Unable to read image path: $imagePath";
} else {
    # $image->Scale(geometry => '75');
    # $image->Set('png:color-type' => 'Grayscale', 'png:bit-depth' => '8');
    # $image->Set(colorspace => 'Gray', magick => 'JPEG', quality => '100');
    $imageWriteError = $image->Write($OutPath);
}

if ($imageWriteError) { warn "Error: $imageWriteError.  Unable to write image file:     $OutPath"; }

}

现在复杂的问题是,当我简单地使用设置函数来设置图像的一些属性时,例如色彩空间=>灰度,它将图像模式转换为灰度,但当我将其加载到夸克中时,它是巨大的,并且我无法将其缩小到足够小以供使用。因此,这个解决方案的一个很好的候选者是一个可能同时使用这两个软件的人。

顺便说一句,这可能会有所帮助。如果我将图像加载到photoshop中,我可以将图像转换为灰度图像,一切都是完美的。因此,我似乎希望我的perl脚本模拟photoshop对图像所做的操作。

EN

回答 2

Stack Overflow用户

发布于 2014-05-16 05:36:21

目前我还不能真正测试它,但我的第一个猜测是,“比例”使整个图像比原始图像“大”了大约5,575²倍。我不知道您为什么要使用ImageMagick来扩展它,大多数情况下,接收应用程序能够很好地在打印时扩展到所需的输出。

希望这会有帮助,如果没有,我会在明天早上检查

票数 0
EN

Stack Overflow用户

发布于 2014-05-17 04:24:52

不要依赖外部服务来创建您的二维码。这是一个相对简单的目标,正如您在使用Bit.ly时所经历的那样,服务有时会消失。

相反,我建议使用cpan模块,如下面的问题所示:how to make QR codes in perl cgi。它推荐的模块远不是cpan上唯一可用的模块,所以我简单地建议您花一些时间尝试几个,直到找到您喜欢的模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23685390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档