91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 181KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-11
  • 語言: 其他
  • 標簽:

資源簡介

最近搜索了些在內存中轉換圖片格式的東西,比如截屏后的bmp圖片在內存中轉為jpg數據流,你可以通過socket發送這段jpg內存數據流,同時,你也可以通過內存數據流逆轉換。通過DibFile.h里面的兩個函數完成(用的是Gdi+庫): Bitmap* CreateBitmapFromMemory(const void *buf, size_t size); void* SaveBitmapToMemory(Bitmap *image, void **outbuf, size_t *size, size_t CodecIndex=0, ULONG quality=50); 說明:CodecIndex取值0-4,分別對應轉換為jpg、bmp、gif、png、tiff格式,當為0時,參數quality有用,表示轉換jpg的質量,取值0-100,數值越小,壓縮比越大。注意:outbuf為指針的指針,會在內部malloc內存,以保存轉換后的圖片數據流。 雖然此軟件中沒用到這兩個函數,但是測試通過。 你可以進行如下測試:把jpg圖片以二進制數據讀到內存中,然后通過CreateBitmapFromMemory函數構建Bitmap,然后再SaveBitmapToMemory轉換為另一段內存中,把這段內存以二進制數據存入文件,并用其他看圖軟件打開保存后的圖片。 其他說明:此軟件在先前版本的基礎上修正兩處Bug: 1.保存圖片時,若文件名含有點,會保存失敗; 2.若在瀏覽圖片時,另存圖片后,滾動滾輪顯示未知格式圖片。 加入一個功能:保存為jpg圖片時,可以選擇圖片質量。 有問題聯系:hastings1986@163.com

資源截圖

代碼片段和文件信息

/*---------------------------------
DIBFILE.C?--?DIB?File?Functions
---------------------------------*/

#include?“StdAfx.h“
#include?
using?std::cout;

static?OPENFILENAME?m_ofn?;

void?DibFileInitialize?(HWND?hwndTCHAR*?szFilter)
{
m_ofn.lStructSize???????=?sizeof?(OPENFILENAME)?;
m_ofn.hwndOwner?????????=?hwnd?;
m_ofn.hInstance?????????=?NULL?;
m_ofn.lpstrFilter???????=?szFilter?;
m_ofn.lpstrCustomFilter?=?NULL?;
m_ofn.nMaxCustFilter????=?0?;
m_ofn.nFilterIndex??????=?0?;
m_ofn.lpstrFile?????????=?NULL?;??????????//?Set?in?Open?and?Close?functions
m_ofn.nMaxFile??????????=?MAX_PATH?;
m_ofn.lpstrFiletitle????=?NULL?;??????????//?Set?in?Open?and?Close?functions
m_ofn.nMaxFiletitle?????=?MAX_PATH?;
m_ofn.lpstrInitialDir???=?NULL?;
m_ofn.lpstrtitle????????=?NULL?;
m_ofn.Flags?????????????=?0?;?????????????//?Set?in?Open?and?Close?functions
m_ofn.nFileOffset???????=?0?;
m_ofn.nFileExtension????=?0?;
m_ofn.lpstrDefExt???????=?TEXT?(“jpg“)?;
m_ofn.lCustData?????????=?0?;
m_ofn.lpfnHook??????????=?NULL?;
m_ofn.lpTemplateName????=?NULL?;
}

BOOL?DibFileOpenDlg?(HWND?hwnd?PTSTR?pstrFileName?PTSTR?pstrtitleName?TCHAR*?szFilter)
{
m_ofn.hwndOwner?????????=?hwnd?;
if(szFilter)
m_ofn.lpstrFilter???????=?szFilter?;
m_ofn.lpstrFile?????????=?pstrFileName?;
m_ofn.lpstrFiletitle????=?pstrtitleName?;
m_ofn.Flags?????????????=?0?;

return?GetOpenFileName?(&m_ofn)?;
}

BOOL?DibFileSaveDlg?(HWND?hwnd?PTSTR?pstrFileName?PTSTR?pstrtitleName?TCHAR*?szFilter)
{
m_ofn.hwndOwner?????????=?hwnd?;
if(szFilter)
m_ofn.lpstrFilter???????=?szFilter?;
m_ofn.lpstrFile?????????=?pstrFileName?;
m_ofn.lpstrFiletitle????=?pstrtitleName?;
m_ofn.Flags?????????????=?OFN_OVERWRITEPROMPT?;

return?GetSaveFileName?(&m_ofn)?;
}

BITMAPFILEHEADER?*?DibLoadImage?(LPCTSTR?pstrFileName)
{
BOOL???????????????bSuccess?;
DWORD??????????????dwFileSize?dwHighSize?dwBytesRead?;
HANDLE?????????????hFile?;
BITMAPFILEHEADER?*?pbmfh?;

hFile?=?CreateFile?(pstrFileName?GENERIC_READ?FILE_SHARE_READ?NULL
OPEN_EXISTING?FILE_FLAG_SEQUENTIAL_SCAN?NULL)?;

if?(hFile?==?INVALID_HANDLE_VALUE)
return?NULL?;

dwFileSize?=?GetFileSize?(hFile?&dwHighSize)?;

if?(dwHighSize)
{
CloseHandle?(hFile)?;
return?NULL?;
}

pbmfh?=?(BITMAPFILEHEADER?*)malloc?(dwFileSize)?;

if?(!pbmfh)
{
CloseHandle?(hFile)?;
return?NULL?;
}

bSuccess?=?ReadFile?(hFile?pbmfh?dwFileSize?&dwBytesRead?NULL)?;
CloseHandle?(hFile)?;

if?(!bSuccess?||?(dwBytesRead?!=?dwFileSize)?????????
||?(pbmfh->bfType?!=?*?(WORD?*)?“BM“)?
||?(pbmfh->bfSize?!=?dwFileSize))
{
free?(pbmfh)?;
return?NULL?;
}
return?pbmfh?;
}

BOOL?DibSaveImage?(LPCTSTR?pstrFileName?BITMAPFILEHEADER?*?pbmfh)
{
BOOL???bSuccess?;
DWORD??dwBytesWritten?;
HANDLE?hFile?;

hFile?=?CreateFile?(pstrFileName?GENERIC_WRITE?0?NULL
CREATE_ALWAYS?FILE_ATTRIBUTE_NO

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1779??2008-04-20?18:21??14.bmp

?????文件???????3262??2008-04-20?18:33??14.cur

?????文件??????99328??2010-05-25?19:40??14.ncb

?????文件????????238??2010-05-25?19:40??14.plg

?????文件???????4870??2010-05-25?14:07??14.dsp

?????文件????????527??2008-04-19?21:18??14.dsw

?????文件??????53760??2010-05-25?19:40??14.opt

?????文件???????7390??2008-06-14?17:02??attack.wav

?????文件??????58662??2008-04-20?21:42??beijin.bmp

?????文件???????2238??2009-01-12?18:59??Cross.cur

?????文件??????35714??2010-05-25?19:13??DibFile.cpp

?????文件???????4845??2010-05-25?19:14??DibFile.h

?????文件??????45542??2010-05-25?19:40??GDITest.cpp

?????文件????????873??2010-05-25?14:35??HasPtr.h

?????文件????????766??2009-01-08?21:33??icon1.ico

?????文件?????109812??2010-05-25?19:26??Res.aps

?????文件???????7424??2010-05-25?19:26??Res.rc

?????文件???????1487??2010-05-25?18:36??resource.h

?????文件????????772??2010-05-25?19:12??StdAfx.h

?????文件????????651??2008-06-11?09:34??thread.h

?????文件????????556??2008-06-18?15:07??XPstyle.manifest

?????文件?????200704??2010-05-25?19:40??截圖6.0版.exe

-----------?---------??----------?-----??----

???????????????641200????????????????????22


評論

共有 條評論