免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3487 | 回复: 3
打印 上一主题 下一主题

用gd库将图片文件缩小后为什么颜色变少了很多?(急呀) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-08 23:24 |只看该作者 |倒序浏览
我用gd库在freebsd虚拟机上写了个缩小图片的程序(c++),但缩小后的图片颜色确与原图大不相同,感觉像256色,但看了php程序中缩小图片的代码,是基本相同的,不知什么原因,请教高手们有谁知道帮帮我。

我的代码是:

bool resize_image(const string &filename)
{
        gdImagePtr im_in;
        gdImagePtr im_out;

        FILE *in;
        FILE *out;

        string in_filename = make_fullpath_name(SAVE_IMAGE_PATH, filename.c_str());
       
        if ((in = fopen(in_filename.c_str(), "rb") == NULL)
        {
                return false;
        }

        im_in = gdImageCreateFromJpeg(in);

        fclose(in);

        im_out = gdImageCreate(im_in->;sx / 3, im_in->;sy / 3);

        gdImageCopyResized(im_out, im_in, 0, 0, 0, 0, im_out->;sx, im_out->;sy, im_in->;sx, im_in->;sy);       

        string out_filename;
        string tmp_str;
       
        string::size_type idx = in_filename.find(".";
        if (idx == string::npos)
        {
                tmp_str = in_filename;       
        }
       
        tmp_str = in_filename.substr(0, idx);
        out_filename = tmp_str + "_small.jpg";
       
        if ((out = fopen(out_filename.c_str(), "wb") == NULL)
        {
                return false;
        }

        gdImageJpeg(im_out, out, 90);

        fclose(out);

        gdImageDestroy(im_in);

        gdImageDestroy(im_out);

        return true;


}

论坛徽章:
0
2 [报告]
发表于 2005-03-09 16:14 |只看该作者

用gd库将图片文件缩小后为什么颜色变少了很多?(急呀)

没用过GD库的是回答不出你这个问题的,太专了!

论坛徽章:
0
3 [报告]
发表于 2005-03-09 16:56 |只看该作者

用gd库将图片文件缩小后为什么颜色变少了很多?(急呀)

我也是在freebsd上用gd库,不过我是用C生成png图片。
我用的时候没有变色情况,只是gdImageCopyResized放大缩小后会让区域内的文字变型的很厉害。有时缩放比例大了就变成一团黑了。

论坛徽章:
0
4 [报告]
发表于 2005-03-10 18:26 |只看该作者

用gd库将图片文件缩小后为什么颜色变少了很多?(急呀)

原帖由 "xxbview" 发表:
我也是在freebsd上用gd库,不过我是用C生成png图片。
我用的时候没有变色情况,只是gdImageCopyResized放大缩小后会让区域内的文字变型的很厉害。有时缩放比例大了就变成一团黑了。


png我也试过了,也不行,是不是因为我在虚拟机上写程序的原因/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP