• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            life is game

            (本色)
            posts - 11, comments - 4, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            #include?? <Stdio.h>??
            #include?? <Objbase.h>??
            #include?? <Windows.h>??
            #include?? <Gdiplus.h>??
            #include?? <GdiPlusEnums.h>??
            using?? namespace?? Gdiplus;??
            #pragma?? comment(lib,"gdiplus")??
            int?? GetCodecClsid(const?? WCHAR*,?? CLSID*);??
            HRESULT?? __fastcall?? AnsiToUnicode(LPCSTR?? pszA,?? LPOLESTR*?? ppszW)??
            {??
            ?ULONG?? cCharacters;??
            ?DWORD?? dwError;??
            ?if?? (NULL?? ==?? pszA)??
            ?{??
            ??*ppszW?? =?? NULL;??
            ??return?? NOERROR;??
            ?}??
            ?cCharacters?? =???? strlen(pszA)+1;??
            ?*ppszW?? =?? (LPOLESTR)?? CoTaskMemAlloc(cCharacters*2);??
            ?if?? (NULL?? ==?? *ppszW)??
            ??return?? E_OUTOFMEMORY;??
            ?if?? (0?? ==?? MultiByteToWideChar(CP_ACP,?? 0,?? pszA,?? cCharacters,*ppszW,?? cCharacters))??
            ?{??
            ??dwError?? =?? GetLastError();??
            ??CoTaskMemFree(*ppszW);??
            ??*ppszW?? =?? NULL;??
            ??return?? HRESULT_FROM_WIN32(dwError);??
            ?}??
            ?return?? NOERROR;??
            }??

            int?? main()
            {??
            ?int?? n_ret=0;??
            ?
            ?char *pic[2]={NULL,NULL};
            ?pic[0]=new char [128];
            ?pic[1]=new char[128];
            ?sprintf(pic[0],"ok.gif");
            ?sprintf(pic[1],"shangcheng_1.bmp");//"default.gif");
            ?GdiplusStartupInput?? gdiplusStartupInput;????
            ?ULONG?? gdiplusToken;????
            ?GdiplusStartup(&gdiplusToken,?? &gdiplusStartupInput,?? NULL);????
            ?{??
            ??CLSID???????????????????????????? codecClsid;??
            ??Status?????????????????????????? stat;??
            ??EncoderParameters???? encoderParameters;??

            ??GetCodecClsid(L"image/gif",?? &codecClsid);??
            ??encoderParameters.Count?? =?? 0;??
            ??LPOLESTR?? bstr_src_img;??
            ??LPOLESTR?? bstr_dst_fn;??
            ??AnsiToUnicode(pic[0],&bstr_dst_fn);??
            ??AnsiToUnicode(pic[1],&bstr_src_img);??
            ??Image?? image(bstr_src_img);??
            ??stat?? =image.Save(bstr_dst_fn,?? &codecClsid,?? &encoderParameters);??
            ??if(stat?? ==?? Ok)??
            ??{??
            ???n_ret=0;??
            ???wprintf(L"%s?? saved?? successfully.\n",bstr_dst_fn);??
            ??}??
            ??else??
            ??{??
            ???n_ret=-2;??
            ???wprintf(L"%d???? Attempt?? to?? save?? %s?? failed.\n",?? stat,?? bstr_dst_fn);??
            ??}??
            ??CoTaskMemFree(bstr_dst_fn);??
            ??CoTaskMemFree(bstr_src_img);??
            ?}??
            ?GdiplusShutdown(gdiplusToken);??
            ?return?? 0;??
            }
            int?? GetCodecClsid(const?? WCHAR*?? format,?? CLSID*?? pClsid)??
            {??
            ?UINT???? num?? =?? 0;?
            ?UINT???? size?? =?? 0;?
            ?ImageCodecInfo*?? pImageCodecInfo?? =?? NULL;???
            ?GetImageEncodersSize(&num,?? &size);??
            ?if(size?? ==?? 0)??
            ??return?? -1;????
            ?pImageCodecInfo?? =?? (ImageCodecInfo*)(malloc(size));??
            ?if(pImageCodecInfo?? ==?? NULL)??
            ??return?? -1;??
            ?GetImageEncoders(num,?? size,?? pImageCodecInfo);??
            ??for(UINT?? j?? =?? 0;?? j?? <?? num;?? ++j)??
            ?{??
            ??if(?? wcscmp(pImageCodecInfo[j].MimeType,?? format)?? ==?? 0?? )??
            ??{??
            ???*pClsid?? =?? pImageCodecInfo[j].Clsid;??
            ???return?? j;?
            ???}??????????
            ?}?
            ?return?? -1;?
            }


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            无码人妻少妇久久中文字幕蜜桃| 天天做夜夜做久久做狠狠| 免费无码国产欧美久久18| 成人精品一区二区久久久| 99久久99这里只有免费的精品| 午夜人妻久久久久久久久| 2020久久精品亚洲热综合一本| 久久久久久久久久久免费精品| 亚洲国产精品人久久| 免费观看久久精彩视频| 久久青青草原精品影院| 狠狠干狠狠久久| 99久久99久久精品国产片| 99久久精品国内| 欧美777精品久久久久网| 国产精品欧美久久久久天天影视| 99精品伊人久久久大香线蕉| 久久青青草原精品国产不卡| 久久久久99精品成人片| 国产69精品久久久久观看软件| 免费久久人人爽人人爽av| 久久婷婷成人综合色综合| 久久精品成人免费网站| 国产亚洲精久久久久久无码AV| 中文字幕亚洲综合久久菠萝蜜| 久久久久亚洲AV成人网人人网站 | 久久综合鬼色88久久精品综合自在自线噜噜| 国内精品久久久久久久涩爱| 中文成人久久久久影院免费观看| 7777精品久久久大香线蕉| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 91精品国产91久久久久久蜜臀| 国产A级毛片久久久精品毛片| 欧美久久一区二区三区| 性高湖久久久久久久久| 国产精品久久久天天影视| 久久久国产精品| 少妇精品久久久一区二区三区| 久久九九全国免费| 精品久久久久久久久免费影院| 国内精品久久人妻互换|