当前位置:  技术问答>linux和unix

使用GD库生成的图片在windows中不能正常显示

    来源: 互联网  发布时间:2016-05-13

    本文导语:  使用c++,生成后的文件有数据,可是在windows中打开显示的是乱七八糟的一些颜色,这只是针对jpeg的,如果生成png,在windows中打开都不行。 有在c++中使用过gd的吗?谢谢帮忙看看。 代码是官方的示例: int main()  { ...

使用c++,生成后的文件有数据,可是在windows中打开显示的是乱七八糟的一些颜色,这只是针对jpeg的,如果生成png,在windows中打开都不行。
有在c++中使用过gd的吗?谢谢帮忙看看。

代码是官方的示例:

int main() 

/* Declare the image */  
gdImagePtr im;  
/* Declare output files */  
FILE *pngout, *jpegout; 
/* Declare color indexes */
int black;  int white;
/* Allocate the image: 64 pixels across by 64 pixels tall */

im = gdImageCreate(64, 64);
/* Allocate the color black (red, green and blue all minimum).    Since this is the first color in a new image, it will    be the background color. */
black = gdImageColorAllocate(im, 0, 0, 0);
/* Allocate the color white (red, green and blue all maximum). */
white = gdImageColorAllocate(im, 255, 255, 255);
/* Draw a line from the upper left to the lower right,    using white color index. */
gdImageLine(im, 0, 0, 63, 63, white);
/* Open a file for writing. "wb" means "write binary", important    under MSDOS, harmless under Unix. */
pngout = fopen("test.png", "wb");
/* Do the same for a JPEG-format file. */
jpegout = fopen("test.jpg", "wb");
/* Output the image to the disk file in PNG format. */
gdImagePng(im, pngout);
/* Output the same image in JPEG format, using the default    JPEG quality setting. */
gdImageJpeg(im, jpegout, -1);   /* Close the files. */
fclose(pngout);
fclose(jpegout);  
/* Destroy the image in memory. */
gdImageDestroy(im);
}

|
我用你的代码生成的jpg和png在windows下打开都没问题。
我用的是官方最新的版本,你可以到这里下载源码:
http://www.libgd.org/
编译很简单,只需./configure然后make install,缺省安装到/usr/local/下,在你的代码加上一行:
#include "/usr/local/include/gd.h"

编译:
g++ -o test test.cpp -lgd

    
 
 

您可能感兴趣的文章:

  • 如何使用arm-uclibc-gcc将.c文件编译生成.a,将.c文件编译生成.cgi?
  • java开发知识 iis7站长之家
  • 在Linux下使用GCC如何编译生成Windows下使用的DLL?
  • vim生成的.cpp~是什么文件?我使用vim编辑的时候出现了好多.cpp~文件
  • 请教各位高手,怎么才能使用XML生成一个数型菜单
  • 不知为何?使用aclocal不能生成aclocal.m4文件?请问是什么原因?
  • 使用GetInvalidFileNameChars生成文件名
  • 欢迎使用、加入Arrow项目开发--一个自动化代码生成工具
  • 寻 懂的redhat linux 下 . 使用automake和autoconf 自动生成Makefile 的 达人。
  • 请问在linux下面用flex生成的c程序在windows下可以正确使用吗?
  • oracle使用sql脚本生成csv文件案例学习
  • 如何在使用nohup的时候不让它生成nohup.out
  • 哪位高手指点一下:使用libxml2是否可以动态生成xml文件?
  • 使用log4j生成的.log文件,前缀中是不是必须含有当日日期?
  • LINUX 交叉编译后 生成的库如何使用 ?
  • gvim下如何使用已经用Ctags生成好的C++标准库的Tags?
  • 我想在任何地方使用package aaa;都能使aaa目录生成在同一个地方,而不是当前目录?
  • 在使用TC编译由 lex 生成的.c文件时遇到的一些问题,请高手指教!!!
  • 生成so共享库和使用
  • c++生成dll使用python调用dll的方法
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 网络突然不能使用了,在WINDOWS下还可以使用
  • nginx Windows版相关问题及使用说明
  • 我直接在LINUX 系统命令符下使用有乱码?而在WINDOWS下,使用PUTTY 连接却很正常?
  • Windows7 常用使用技巧
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • windows7操作系统介绍及各种使用技巧总结
  • java中使用jxl生成excel文件,在unix中比在windows中明显慢,有高手知道原因吗?或者说unix和windows的文件系统哪个更快?
  • 在windows下使用虚拟机运行linux,在不插入网线的状态下可不可以使用smb服务
  • 关于windows下的gcc使用问题
  • 编辑menu.lst 使用grub 引导windows
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 愁死了,一开始使用redhat7.3,安装时定制为服务器,squid不能使用,改用redhat9.0,安装时选择服务器安装选项,squid还是不能用
  • 中文问题:我使用的是MEPIS Linux,系统不能显示中文,我能不能把Redhat中的中文字体移植到这个系统中?
  • 新装的Linux使用root用户不能使用FTP?
  • 嵌入式Linux使用外挂Vsftpd不能正常使用, 请高手解答,谢谢。
  • 在linux下面使用相关的硬件,为何不能,系统不能检测到modem,网卡,以及其他,请教
  • 为什么使用了-l但 仍然不能使用C++类库
  • 我安装Samba 3.0.4,能够使用smbclient进行登陆,可是不能使用windowsXP进行登陆
  • redhat9.2 下怎么 使用rsh ,我的rsh还不能使用
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • linux支持ti-rpc么?ti-rpc在linux中是不是只使用udp协议,不能使用tcp协议
  • 内核不能使用虚拟内存?
  • 使用java如何分析系统不能识别的字符串?
  • 普通用户不能使用shutdown命令吗?
  • 用popen,不能使用fseek了?Segmentation fault错误
  • redhat linux9桌面系统中鼠标不能使用
  • 使用Applet能不能实现基于浏览器的打印呢???
  • LINUX下不能使用QQ吗?
  • 通知,散分,joyfire.net暂时不能使用
  • 启动XWindow后 鼠标不能使用了
  • 我在/etc/profile文件后面加上一段内容后,系统不能正常启动,也不能进入bash使用vi,ed,emacs,mv等指令,请问我怎么把/etc/profile文件内
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • c#中SAPI使用总结——SpVoice的使用方法
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3