• <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;?
            }

            久久精品国产亚洲沈樵| 成人妇女免费播放久久久| 精品久久久久久久久久久久久久久| 亚洲精品高清国产一久久| 久久99精品久久久久久秒播| 人妻无码精品久久亚瑟影视| 国内精品久久久久久99| 欧美久久久久久午夜精品| 久久久久久九九99精品| 伊人久久大香线蕉综合热线| 精品久久久久久无码专区不卡| 四虎久久影院| 久久国产热这里只有精品| 九九精品99久久久香蕉| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 蜜臀av性久久久久蜜臀aⅴ| 久久精品国产精品青草app| 久久久久久久久久久久久久| 亚洲国产精品久久久久| 久久久精品国产sm调教网站| 日产精品久久久久久久| 精品水蜜桃久久久久久久| 国产国产成人精品久久| 97精品国产97久久久久久免费 | 亚洲成人精品久久| 天天躁日日躁狠狠久久 | 久久亚洲AV成人无码电影| 精品一久久香蕉国产线看播放| 久久超乳爆乳中文字幕| 久久九九久精品国产免费直播| 亚洲人成无码网站久久99热国产| 青青草国产精品久久久久| 久久久精品午夜免费不卡| 99久久精品国产免看国产一区| 久久久一本精品99久久精品66| 亚洲va久久久噜噜噜久久| 无码人妻精品一区二区三区久久久| 亚洲欧洲精品成人久久奇米网| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久亚洲中文字幕精品一区| 91麻精品国产91久久久久|