Dim?imgPhoto?As?System.Drawing.Image??=?System.Drawing.Image.FromFile("圖片路徑名")?
十余年的孟連網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整孟連建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“孟連網(wǎng)站設(shè)計(jì)”,“孟連網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Dim?imgWidth?As?Integer?=?imgPhoto.Width??
Dim?imgHeight?As?Integer=?imgPhoto.Height
題主看懂了就采個納吧~
沒明白你意思,看看是這樣么?Dim PGet As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(picture)for i=1 to picture.heightfor j=1 to picture.widthPGet .GetPixel(j, i)nextnext
void CGridImageDlg::OnSave()
{
try
{
pRecordset.CreateInstance("ADODB.Recordset");
pRecordset-Open("SELECT * FROM 基本信息圖片",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉異常
{
AfxMessageBox("讀取數(shù)據(jù)庫失敗!");///顯示錯誤信息
}
//刪除所有記錄
while (!pRecordset-adoEOF)
{
pRecordset-Delete(adAffectCurrent);///刪除當(dāng)前記錄
pRecordset-MoveNext();
}
int m_Rcount = 1;
while (m_Rcount m_GridCtrl.GetRowCount())
{
pRecordset-AddNew();
if(m_GridCtrl.GetItemText(m_Rcount,0)!="")
pRecordset-Fields-GetItem(_variant_t("圖片編號"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,0));
if(m_GridCtrl.GetItemText(m_Rcount,1)!="")
pRecordset-Fields-GetItem(_variant_t("橋梁編號"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,1));
//獲得文件名
CString m_sname;
m_sname.Format("%s",m_GridCtrl.GetItemText(m_Rcount,2));
//獲取擴(kuò)展名
CString m_sExt;
m_sExt.Format("%s%s",_T("."),m_GridCtrl.GetItemText(m_Rcount,4));
//獲得主程序的路徑
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
//獲取圖片數(shù)據(jù)
CFile f;
CString FilePathName;
FilePathName.Format("%s%s%s%s",sPath,_T("\\臨時(shí)圖片\\"),m_sname,m_sExt); //文件名和后綴名
CFileException e;
if(f.Open(FilePathName, CFile::modeRead | CFile::typeBinary, e)) //打開了一個文件
{
int nSize = f.GetLength(); //先得到文件長度
BYTE * pBuffer = new BYTE [nSize]; //按文件的大小在堆上申請一塊內(nèi)存
if (f.Read(pBuffer, nSize) 0 ) //把文件讀到pBuffer(堆上申請一塊內(nèi)存)
{ // +----------------------------------------------
BYTE *pBuf = pBuffer; ///下面這一大段是把pBuffer里的數(shù)據(jù)放到庫中
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];
if(pBuf)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = nSize;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
for (long i = 0; i (long)nSize; i++)
SafeArrayPutElement (psa, i, pBuf++);
varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
pRecordset-GetFields()-GetItem("圖片數(shù)據(jù)")-AppendChunk(varBLOB);
}
delete [] pBuffer; //刪掉堆上申請的那一塊內(nèi)存
pBuf=0; //以防二次亂用
f.Close();
}
}
if(m_GridCtrl.GetItemText(m_Rcount,3)!="")
pRecordset-Fields-GetItem(_variant_t("圖片類別名稱"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,3));
if(m_GridCtrl.GetItemText(m_Rcount,4)!="")
pRecordset-Fields-GetItem(_variant_t("圖片后綴"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,4));
if(m_GridCtrl.GetItemText(m_Rcount,5)!="")
pRecordset-Fields-GetItem(_variant_t("拍攝日期"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,5));
if(m_GridCtrl.GetItemText(m_Rcount,6)!="")
pRecordset-Fields-GetItem(_variant_t("圖片描述"))-Value=_bstr_t(m_GridCtrl.GetItemText(m_Rcount,6));
m_Rcount++;
pRecordset-Update();
}
}
1-有擴(kuò)展名,依據(jù)擴(kuò)展名判斷(這個簡單)
2-沒有擴(kuò)展名,比如給你個圖片文件image,文件沒有擴(kuò)展名,可以通過以下方式進(jìn)行判斷,但同時(shí)如果確定是圖片且系統(tǒng)支持的類型,則無需關(guān)心文件類型,直接讀取到Image就可以,系統(tǒng)也是依據(jù)以下的方式判斷
1.JPEG【判斷文件開始2字節(jié)與結(jié)束2字節(jié)】
- 文件頭標(biāo)識 (2 bytes): $ff, $d8 (SOI) (JPEG 文件標(biāo)識)
- 文件結(jié)束標(biāo)識 (2 bytes): $ff, $d9 (EOI)
2.TGA
- 未壓縮的前5字節(jié) 00 00 02 00 00
- RLE壓縮的前5字節(jié) 00 00 10 00 00
3.PNG
- 文件頭標(biāo)識 (8 bytes) 89 50 4E 47 0D 0A 1A 0A
4.GIF
- 文件頭標(biāo)識 (6 bytes) 47 49 46 38 39(37) 61
G I F 8 9 (7) a
5.BMP
- 文件頭標(biāo)識 (2 bytes) 42 4D
B M
6.PCX
- 文件頭標(biāo)識 (1 bytes) 0A
7.TIFF
- 文件頭標(biāo)識 (2 bytes) 4D 4D 或 49 49
8.ICO
- 文件頭標(biāo)識 (8 bytes) 00 00 01 00 01 00 20 20
9.CUR
- 文件頭標(biāo)識 (8 bytes) 00 00 02 00 01 00 20 20
10.IFF
- 文件頭標(biāo)識 (4 bytes) 46 4F 52 4D
F O R M
11.ANI
- 文件頭標(biāo)識 (4 bytes) 52 49 46 46
R I F F
1,不要將這些代碼放在Form.Load事件里,最好放在構(gòu)造函數(shù)中!
2,加上:
me.SuspendLayout()'如果按鈕在其它容器中(如GroupBox):me.grp.SuspendLayout();
'...Loading Images
me.ResumeLayout();
圖形繪制最快的是Panel控件,用Panel速度蠻快
新聞名稱:關(guān)于vb.net圖片比較的信息
網(wǎng)站URL:http://chinadenli.net/article14/hgdcge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、營銷型網(wǎng)站建設(shè)、電子商務(wù)、ChatGPT、Google、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)