• <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   管理


            国产精品美女久久久久av爽| 久久夜色精品国产噜噜麻豆| 九九99精品久久久久久| 久久国产精品免费一区| 日韩人妻无码一区二区三区久久| 午夜精品久久久久久毛片| 午夜精品久久影院蜜桃| 久久免费视频观看| 亚洲精品无码成人片久久| 99久久超碰中文字幕伊人| 综合网日日天干夜夜久久| 亚洲精品tv久久久久| 久久久久国产视频电影| 91精品久久久久久无码| jizzjizz国产精品久久| 国产三级精品久久| 人妻久久久一区二区三区| 久久精品无码av| 国产精品久久久久9999高清| 国产精品禁18久久久夂久| 久久久91人妻无码精品蜜桃HD| 亚洲人成网亚洲欧洲无码久久| 久久99热狠狠色精品一区| 国产偷久久久精品专区| 久久亚洲中文字幕精品一区| 亚洲午夜精品久久久久久浪潮 | 亚洲级αV无码毛片久久精品| 久久久精品免费国产四虎| 天天躁日日躁狠狠久久| 久久国产欧美日韩精品免费| 青草影院天堂男人久久| 少妇人妻88久久中文字幕| 久久婷婷国产剧情内射白浆| 久久午夜夜伦鲁鲁片免费无码影视 | 中文成人无码精品久久久不卡 | 久久久婷婷五月亚洲97号色| 久久久av波多野一区二区| 一本色道久久综合狠狠躁篇| 四虎国产精品成人免费久久| 国产真实乱对白精彩久久| 久久精品99无色码中文字幕|