Example #1
0
BOOL
savePNG( const char *fileName, HBITMAP hBitmap )
{
    const char  intermediateFilename[MAX_PATH] = "tempTmp.png";
    BOOL        ret = FALSE;

    ret = saveBmp( fileName, hBitmap );
    if ( ret ) {
        int r = bmp2png( fileName, intermediateFilename );
        ret = !r ? TRUE : FALSE;
    }

    unlink( fileName );
    rename( intermediateFilename, fileName );

    return ( ret );
}
Example #2
0
int main(int argc, char* argv[])
{
	int ret=0;
	int fHandle;
	psd_context * context=NULL;

	ret = IsBigEndian();
	if (!ret)
		printf("we are using little endian, psd image file stream byte order is big endian! need convert\n");
	else
		printf("we are using big endian\n");
	
	if (argc == 1)
	{
		printfHelp();
		return 0;
	}

	if (!strcmp(argv[1],"psd2bmp"))
	{
		Psd2Bmp("..\\..\\pic\\tianye_all.psd","..\\..\\pic\\tianye_all.bmp");
		Psd2Bmp("..\\..\\pic\\tianye_new.psd","..\\..\\pic\\tianye_new.jpg");
		Psd2Png("..\\..\\pic\\tianye_all.psd","..\\..\\pic\\tianye_all.png");
	}
	else if (!strcmp(argv[1],"merge"))
	{
		MergeTwoPngFile("..\\..\\pic\\bg.png","..\\..\\pic\\tianye.png","..\\..\\pic\\merge.png",180);
	}
	else if (!strcmp(argv[1],"bmp2psd"))
	{
		//CreateDemoPsdFile("..\\..\\pic\\tianye_new.psd","..\\..\\pic\\tianye.png");
		fHandle = PsdNewFile("..\\..\\pic\\tianye_1.psd","..\\..\\pic\\tianye.bmp");
		printf("new one psd file, ret=%d\n",fHandle);
		if (ret>=0)
		{
			ret = PsdNewLayer(fHandle,"..\\..\\pic\\ms12.png",0,0,1,200);
//			ret = PsdNewLayer(fHandle,"..\\..\\pic\\ms12.png",200,200,2,200);
//			PsdSetLayerDirection(fHandle,1,RIGHT90);
//			PsdSetLayerDirection(fHandle,1,LEFT90);
			//PsdSetLayerBrightness(fHandle,1,-0);
			//PsdSetLayerContrast(fHandle,1,-50);
			PsdSaveFile(fHandle);
			PsdCloseFile(fHandle);		//must close firstly before load again...
		}

//		Psd2Bmp("..\\..\\pic\\tianye_new.psd","..\\..\\pic\\tianye_new_tmp.bmp");
		Psd2Png("..\\..\\pic\\tianye_1.psd","..\\..\\pic\\tianye_1_tmp.png");
		//pngzoom("..\\..\\pic\\tianye_new_tmp.png",50);

	}
	else if (!strcmp(argv[1],"psd2psd"))
	{
		//fHandle = PsdLoadFile("..\\..\\pic\\tianye_1.psd");	//tianye_1.psd has two layers already
		fHandle = PsdNewFile("..\\..\\pic\\tianye_1.psd","..\\..\\pic\\tianye.bmp");
		if (fHandle>=0)
		{
			//ret = PsdNewLayer(fHandle,"..\\..\\pic\\ms12.png",200,200,2,200);
			ret = PsdCreateLayer(fHandle,"..\\..\\pic\\ms12.png",200,200,100,200,2,200);
			ret = PsdSaveFile(fHandle);
			ret = PsdCloseFile(fHandle);
			Psd2Png("..\\..\\pic\\tianye_1.psd","..\\..\\pic\\tianye_1.png");
		}
		else
		{
			printf("fail to load psd file. ret=%d\n",ret);
		}		
	}
	else if (!strcmp(argv[1],"bmp2bmp"))
	{
		ret = bmp2bmp("..\\..\\pic\\tianye.bmp","..\\..\\pic\\tianye_tmp.bmp");
		if (ret>=0)
		{
			printf("bmp convert to bmp successfully!\n");
		}
	}		
	else if (!strcmp(argv[1],"jpg2bmp"))
	{
		//ret = jpg2bmp("..\\..\\pic\\testimg.jpg","..\\..\\pic\\testimg.bmp");
		ret = jpg2bmp("..\\..\\pic\\puke.jpg","..\\..\\pic\\puke_tmp.bmp");
		if (ret>=0)
		{
			printf("jpg convert to bmp successfully!\n");
		}
	}	
	else if (!strcmp(argv[1],"bmp2jpg"))
	{
		ret = bmp2jpg("..\\..\\pic\\tianye.bmp","..\\..\\pic\\tianye.jpg");
		if (ret>=0)
		{
			printf("bmp convert to jpg successfully!\n");
		}
	}
	else if (!strcmp(argv[1],"png2bmp"))
	{
		//ret = png2bmp("..\\..\\pic\\mxp.png","..\\..\\pic\\mxp_tmp.bmp");
		ret = png2bmp("..\\..\\pic\\ms12.png","..\\..\\pic\\ms12_tmp.bmp");

//		ret = png2bmp("..\\..\\pic\\lisa.png","..\\..\\pic\\lisa_tmp.bmp");		//can NOT load lisa.png into RAM
		if (ret>=0)
		{
			printf("png convert to bmp successfully!\n");
		}
	}	
	else if (!strcmp(argv[1],"bmp2png"))
	{
		ret = bmp2png("..\\..\\pic\\Bliss.bmp","..\\..\\pic\\Bliss.png");
		if (!ret)
		{
			printf("bmp convert to png successfully!\n");
		}
	}		
	else if (!strcmp(argv[1],"pngcrop"))
	{
		ret = bmp2png("..\\..\\pic\\Bliss.bmp","..\\..\\pic\\Bliss.png");
		//ret = pngzoom("..\\..\\pic\\Bliss.png",100);
		ret=pngcrop("..\\..\\pic\\Bliss.png",600,400);
	}		

	else
		;

	return 0;
}