在Linux中我得到.PPM文件作为图像格式,这需要转换为PNG然后保存.我正在寻找一些API来实现从PPM到PNG的转换.这可以使用GDI +完成,因为这将成为原生的吗?
如果那是不可能的,那么我认为freeimage或pnglib可以实现这一点,但是如果可能的话我宁愿使用原生的gdi +.
我在最近的一次采访中被问到这个问题,基本上是编写了一个函数来结合free的功能和赋值null.我用以下方式回答:
void main()
{
int *ptr;
ptr = new int;
ptr = newdelete(ptr);
}
(int*) newdelete (int *ptr)
{
delete(ptr);
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
因此在执行之后,当我从函数返回时,ptr
本地main
将保持空值newdelete
.如果我刚刚NULL
在newdelete函数中分配,则ptr
本地newdelete
将被取消,而不是ptr
本地的main
.
我认为我的解决方案是正确的,面试官也接受了.但是,他期待着其他一些答案.他坚持要求我不NULL
从函数返回并仍然达到预期的效果.
有没有办法实现这一目标?我能想到的只是传递另一个参数,它是指向ptr
本地指针的指针main
,但我不明白为什么它比我做的更好!
所以我想用C++作为业余爱好项目制作一个PDF阅读器.问题是我找不到很多开端,所以如果有人从事过类似的项目请指导我,一些网络链接会很棒!我将使用Windows环境和Visual Studio.
我正在尝试将彩色BMP文件转换为灰度BMP.输入bmp是24位,我在输出端产生相同的24位bmp,这次只是灰度级.
我正在使用的代码是
for(int x = 0; x < max; x++)
{
int lum;
lum = (r[x]*0.30) + (g[x]*0.59) + (b[x]*0.11);
r[x] = lum;
g[x] = lum;
b[x] = lum;
}
Run Code Online (Sandbox Code Playgroud)
的r
,g
,b
数组是RGB颜色分量,我有他们在char *r,*g,*b
.
由于某些原因,我没有得到干净的输出.我正在附加我对这个问题的输出,它的斑驳并且在地方包含白色和黑色区域.那么我在这里做错了什么?
任何有关这方面的帮助都会非常有用.谢谢.