草庐IT

c++ - 原始位图数据到 jpeg 或 png C++

我有bytearray,其中每三个字节描述1个像素(RGB)。任务是将其转换为jpeg或png。实际上,我正在使用Zint(用于生成条形码的开源库),它使用libpng生成图像文件并将其保存到文件系统,但在Zint中,除了生成图像之外,函数png_plot()还将其保存在磁盘上,这是不受欢迎的。因此我认为有两种方式:1.从位图bytearray到bmp->jpeg/png(使用其他一些库)2.写hook或者类似png_plot()的一些你能给我一些建议吗?谢谢。更新:为@peacemakerFILE*f;zint_symbol*my_symbol;my_symbol=ZBarcode_

c# - 使用 PNG 格式

我希望在C++或C#中使用PNG格式。我找不到任何关于如何将PNG转换为表示图像颜色的字节/float的二维数组的文档。我要实现的目标:将Png加载到数组[Width*Height]在游戏中使用PNG作为纹理如果有人可以向我提供任何文档、源代码或C#/C++库/dll,那就太好了。最好是C++,并且不使用任何Windows特定的库。 最佳答案 Uselibpng,theofficialPNGlibrary.具体来说,thispage包含有关如何打开和阅读的所有信息。 关于c#-使用PNG

c++ - libpng 中的内存泄漏?还是我只是愚蠢?

Valgrind提示我的一些代码,但这段代码几乎是文档中的示例libpng代码:Valgrind输出示例。==15847==14,384bytesin31blocksaredefinitelylostinlossrecord239of240==15847==at0x4C28F9F:malloc(vg_replace_malloc.c:236)==15847==by0x5837381:???(in/lib/x86_64-linux-gnu/libpng12.so.0.46.0)==15847==by0x581FD63:png_create_info_struct(in/lib/x86_6

c++ - 使用 libpng 将位图缓冲区快速编码为 png

我的目标是使用C/C++将32位位图(BGRA)缓冲区实时转换为png图像。为了实现它,我使用了libpng库来转换位图缓冲区,然后写入一个png文件。然而,在单线程目标arm板(四核处理器)上执行似乎需要很长时间(~5秒)。在分析时,我发现libpng压缩过程(放气算法)占用了90%以上的时间。所以我试图通过以某种方式使用并行化来减少它。这里的最终目标是至少在0.5秒内完成。既然png可以有多个IDATblock,我想到了用多个IDAT并行编写png。采用以下方法编写具有多个IDAT的自定义png文件1.WritePNGIHDRchunk2.WriteIDATchunksinpara

c++ - libpng 在 png_read_info() 上崩溃

我正在尝试在vs2013中使用libpng1.2.10读取一个png文件。我下载了最新的zlib并编译了pnglib,效果很好。现在我正在尝试加载一个文件:int*w=&width;int*h=&height;constchar*name=file.c_str();FILE*png_file=fopen(name,"rb");if(!png_file){std::cerr不幸的是我得到了Unhandledexceptionat0x77D78E19(ntdll.dll)inSimpleShader.exe:0xC0000005:Accessviolationwritinglocation

c++ - libpng 错误 : PNG unsigned integer out of range

当尝试从内存中读取PNG时,我遇到了这个奇怪的错误:libpngerror::PNGunsignedintegeroutofrange这个错误是由引起的png_read_info(png_ptr,info_ptr);它使用以下处理程序:staticvoidReadDataFromBuffer(png_structppng_ptr,png_bytepoutBytes,png_size_tbyteCountToRead){PNGDataPtrdataptr=(PNGDataPtr)png_get_io_ptr(png_ptr);png_uint_32i;coutlenpdataptr->l

c++ - libpng png_set_add_alpha | png_set_filler 错误 : sequential row overflow

我正在尝试使用C读取PNG文件以用于OpenCL。OpenCL不支持24位RGB图像,因此我需要将数据从RGB扩展到RGBA。我使用的PNG都是24位的,因此可以避免头痛。我曾尝试使用png_set_filler和png_set_add_alpha,我认为它们大致相同来解决问题,但它们都会导致此错误:libpngerror:sequentialrowoverflow这里是完整的函数:intLoadPNG24(unsignedchar**pixelBuffer,constchar*filename,unsignedint*width,unsignedint*height){png_byt

解决Python pygame 中图片libpng warning: iCCP: known incorrect sRGB profile警告问题1

使用pygame加载png出现libpngwarning:iCCP:knownincorrectsRGBprofile和Interlacehandlingshouldbeturnedonwhenusingpng_read_image警告的问题一、问题:当在pycharm中引用pygame模块导入png图像运行后,发出警告:libpngwarning:iCCP:knownincorrectsRGBprofile二、原因:因为libpng-1.6以上版本增强了ICCprofiles检查,所以发出警告。此警告可以忽略。若要消除警告则要使得图片符合配置要求。三、方法:利用PS修改图片颜色配置。直接用P

ios - iOS 上的 PNG 验证

在iOS上编写map应用程序,使用OpenStreetMap瓦片。map瓦片图像异步下载并存储在字典中,或持久保存在SQLite数据库中。有时,无论出于何种原因,在尝试渲染map图block图像时,我会收到以下错误:ImageIO:PNGinvaliddistancetoofarback这会导致讨厌的黑色方block出现在我的map上。这是发生这种情况的代码片段:NSData*imageData=[TileDownloaderRetrieveDataAtTileX:(int)tilexY:(int)tileyZoom:(int)zoomLevel];if(imageData!=nil)

php - PHP GD 库中不支持 PNG,但支持 GIF 和 JPEG。我怎样才能解决这个问题?

我在OSXYosemite上运行MAMP服务器版本3.0.5。在执行过程中,我的php文件似乎缺少PNG支持甚至在我使用MAMP2.1之前,它在png相关函数上就存在fatalerror。不过Jpeg函数工作正常。这是我的phpinfo的样子:BuildDateApr10201417:21:18ConfigureCommand'./configure''--with-mysql=/Applications/MAMP/Library''--with-apxs2=/Applications/MAMP/Library/bin/apxs''--with-gd''--with-jpeg-dir=