導航:首頁 > 圖片大全 > 圖片如何轉換成變數

圖片如何轉換成變數

發布時間:2022-09-10 19:40:13

A. VB製作的多張圖片屏保程序如何將固定文件夾下的圖片個數設定成變數而不是固定圖片個數

啟動程序後就對該文件夾下面的圖片文件個數進行統計,把統計結果放到一個全局變數裡面,把11換成那個全局變數名就行

B. 在html中插入圖片時,如何把圖片名設置為變數 比如<img src="k.jpg">,其中k是變數。

定義個k變數 然後 <img src=k+".jpg">這個就可以了啊

C. C#海康SDK如何採集彩色圖像轉Halcon變數

C#之調用海康工業相機SDK採集圖像並在Halcon窗口中顯示
最近做項目需要對海康相機進行二次開發,現將所學進行整理。

開發環境 VS2012+C#(32位) Halcon12

引用動態鏈接庫

引用Halcon動態鏈接庫(halcondotnet.dll)

引用海康相機動態鏈接庫(MvCameraControl.Net.dll)這個文件在MVS安裝目錄下MVS\Development\DotNet中,如果你是32位的開發環境就選擇win32文件夾下的,如果是64位就選擇win64文件夾下的

創建相機類

先在創建的類中編寫方法,之後實例化相機類,調用類中的方法。
滑鼠右鍵單擊工程項目–添加–類,選擇「類」,輸入類的名稱,例如Hikvision,點擊右下角的「添加」。

首先,要引入的命名空間:using HalconDotNet; using MvCamCtrl.NET;

其次,需要用到的全部變數:

private MyCamera m_pMyCamera;
MyCamera.MV_CC_DEVICE_INFO_LIST m_pDeviceList;//設備列表
private MyCamera.MVCC_INTVALUE stParam;//用於接收特定的參數
//為讀取、保存圖像創建的數組
UInt32 m_nBufSizeForDriver = 3072 * 2048 * 3;
byte[] m_pBufForDriver = new byte[3072 * 2048 * 3];
UInt32 m_nBufSizeForSaveImage = 3072 * 2048 * 3 * 3 + 2048;
byte[] m_pBufForSaveImage = new byte[3072 * 2048 * 3 * 3 + 2048];
//要轉成的Halcon圖像
HImage image = new HImage();
(1) 查找設備列表

//查找設備
public void DeviceListAcq()
{
int nRet;
// ch:創建設備列表 en:Create Device List
System.GC.Collect();
cbDeviceList.Items.Clear();
nRet = MyCamera.MV_CC_EnumDevices_NET(MyCamera.MV_GIGE_DEVICE | MyCamera.MV_USB_DEVICE, ref m_pDeviceList);
if (0 != nRet)
{
MessageBox.Show("查找設備失敗!");
return;
}

// ch:在窗體列表中顯示設備名 | en:Display device name in the form list
for (int i = 0; i < m_pDeviceList.nDeviceNum; i++)
{
MyCamera.MV_CC_DEVICE_INFO device = (MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(m_pDeviceList.pDeviceInfo[i], typeof(MyCamera.MV_CC_DEVICE_INFO));
if (device.nTLayerType == MyCamera.MV_GIGE_DEVICE)
{
IntPtr buffer = Marshal.(device.SpecialInfo.stGigEInfo, 0);
MyCamera.MV_GIGE_DEVICE_INFO gigeInfo = (MyCamera.MV_GIGE_DEVICE_INFO)Marshal.PtrToStructure(buffer, typeof(MyCamera.MV_GIGE_DEVICE_INFO));
if (gigeInfo.chUserDefinedName != "")
{
cbDeviceList.Items.Add("GigE: " + gigeInfo.chUserDefinedName + " (" + gigeInfo.chSerialNumber + ")");
}
else
{
cbDeviceList.Items.Add("GigE: " + gigeInfo.chManufacturerName + " " + gigeInfo.chModelName + " (" + gigeInfo.chSerialNumber + ")");
}
}
else if (device.nTLayerType == MyCamera.MV_USB_DEVICE)
{
IntPtr buffer = Marshal.(device.SpecialInfo.stUsb3VInfo, 0);
MyCamera.MV_USB3_DEVICE_INFO usbInfo = (MyCamera.MV_USB3_DEVICE_INFO)Marshal.PtrToStructure(buffer, typeof(MyCamera.MV_USB3_DEVICE_INFO));
if (usbInfo.chUserDefinedName != "")
{
cbDeviceList.Items.Add("USB: " + usbInfo.chUserDefinedName + " (" + usbInfo.chSerialNumber + ")");
}
else
{
cbDeviceList.Items.Add("USB: " + usbInfo.chManufacturerName + " " + usbInfo.chModelName + " (" + usbInfo.chSerialNumber + ")");
}
}
}

// ch:選擇第一項 | en:Select the first item
if (m_pDeviceList.nDeviceNum != 0)
{
cbDeviceList.SelectedIndex = 0;
}
}
(2) 打開設備

//打開設備
public void OpenDevice()
{
if (m_pDeviceList.nDeviceNum == 0 || cbDeviceList.SelectedIndex == -1)
{
MessageBox.Show("未發現設備,請選擇");
return;
}
int nRet = -1;

// ch:獲取選擇的設備信息 | en:Get selected device information
MyCamera.MV_CC_DEVICE_INFO device =
(MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(m_pDeviceList.pDeviceInfo[cbDeviceList.SelectedIndex],
typeof(MyCamera.MV_CC_DEVICE_INFO));

// ch:打開設備 | en:Open device
if (null == m_pMyCamera)
{
m_pMyCamera = new MyCamera();
if (null == m_pMyCamera)
{
return;
}
}

nRet = m_pMyCamera.MV_CC_CreateDevice_NET(ref device);
if (MyCamera.MV_OK != nRet)
{
return;
}

nRet = m_pMyCamera.MV_CC_OpenDevice_NET();
if (MyCamera.MV_OK != nRet)
{
m_pMyCamera.MV_CC_DestroyDevice_NET();
MessageBox.Show("設備打開失敗");
//ShowErrorMsg("Device open fail!", nRet);
return;
}

// ch:探測網路最佳包大小(只對GigE相機有效) | en:Detection network optimal package size(It only works for the GigE camera)
if (device.nTLayerType == MyCamera.MV_GIGE_DEVICE)
{
int nPacketSize = m_pMyCamera.MV_CC_GetOptimalPacketSize_NET();
if (nPacketSize > 0)
{
nRet = m_pMyCamera.MV_CC_SetIntValue_NET("GevSCPSPacketSize", (uint)nPacketSize);
if (nRet != MyCamera.MV_OK)
{
Console.WriteLine("Warning: Set Packet Size failed {0:x8}", nRet);
}
}
else
{
Console.WriteLine("Warning: Get Packet Size failed {0:x8}", nPacketSize);
}
}

// ch:設置採集連續模式 | en:Set Continues Aquisition Mode
m_pMyCamera.MV_CC_SetEnumValue_NET("AcquisitionMode", 2);// ch:工作在連續模式 | en:Acquisition On Continuous Mode
m_pMyCamera.MV_CC_SetEnumValue_NET("TriggerMode", 0); // ch:連續模式 | en:Continuous
}
(3) 連續採集

//連續採集(也就是實時顯示)
public void ContinuesGrab(PictureBox picBox)
{
int nRet;

// ch:開始採集 | en:Start Grabbing
nRet = m_pMyCamera.MV_CC_StartGrabbing_NET();
if (MyCamera.MV_OK != nRet)
{
MessageBox.Show("採集失敗!");
//ShowErrorMsg("Trigger Fail!", nRet);
return;
}

//實時採集
m_pMyCamera.MV_CC_SetEnumValue_NET("TriggerMode", 0);

// ch:顯示 | en:Display 在PictureBox控制項中顯示
nRet = m_pMyCamera.MV_CC_Display_NET(picBox.Handle);
if (MyCamera.MV_OK != nRet)
{
MessageBox.Show("顯示失敗!");
}
}
(4) 停止採集

//停止採集
public void StopGrab()
{
int nRet = -1;
// ch:停止採集 | en:Stop Grabbing
nRet = m_pMyCamera.MV_CC_StopGrabbing_NET();
if (nRet != MyCamera.MV_OK)
{
MessageBox.Show("停止採集失敗!");
}

}
(5) 關閉設備

//關閉設備
public void CloseDevice()
{
// ch:關閉設備 | en:Close Device
int nRet;

nRet = m_pMyCamera.MV_CC_CloseDevice_NET();
if (MyCamera.MV_OK != nRet)
{
return;
}

nRet = m_pMyCamera.MV_CC_DestroyDevice_NET();
if (MyCamera.MV_OK != nRet)
{
return;
}
}
(6) 轉成Halcon圖像

//讀取圖片轉換成Halcon圖像
public HImage ReadImage()
{
int nRet;
//MyCamera.MVCC_INTVALUE stParam = new MyCamera.MVCC_INTVALUE();
UInt32 nPayloadSize = 0;
nRet = m_pMyCamera.MV_CC_GetIntValue_NET("PayloadSize", ref stParam);
if (MyCamera.MV_OK != nRet)
{
return null;
}
nPayloadSize = stParam.nCurValue;
if (nPayloadSize > m_nBufSizeForDriver)
{
m_nBufSizeForDriver = nPayloadSize;
m_pBufForDriver = new byte[m_nBufSizeForDriver];
m_nBufSizeForSaveImage = m_nBufSizeForDriver * 3 + 2048;
m_pBufForSaveImage = new byte[m_nBufSizeForSaveImage];
}

IntPtr pData = Marshal.(m_pBufForDriver, 0);
MyCamera.MV_FRAME_OUT_INFO_EX stFrameInfo = new MyCamera.MV_FRAME_OUT_INFO_EX();
nRet = m_pMyCamera.MV_CC_GetOneFrameTimeout_NET(pData, m_nBufSizeForDriver, ref stFrameInfo, 1000);//獲取一幀圖像,超時時間設置為1000
if (MyCamera.MV_OK != nRet)
{
return null;
}

HImage image = new HImage();

//採集的是黑白圖像,利用Halcon圖像庫中的GenImage1運算元來構建圖像
image.GenImage1("byte", (int)stFrameInfo.nWidth, (int)stFrameInfo.nHeight, pData);
return image;
}
————————————————
版權聲明:本文為CSDN博主「Kevin_Sun777」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Kevin_Sun777/article/details/109210383

D. css背景圖片改成ASP變數代碼,請高手老手幫忙!

<td style="background-image:url(<%=rs("pic")%>); background-position: center center; background-repeat:no-repeat" valign="top">

E. 怎麼把提取到的圖片資源保存到變數

那不是很簡單,讀取這個ico文件,保存在位元組集的變數中就好了
用 讀入文件(ico文件位置) 讀出來就是位元組集的

F. EXCEL的圖片怎麼能夠成為變數啊

按ctrl+F3,自定義一個名稱a:
=INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$2,Sheet1!$A:$A,))

在F2插入一個圖片框。記得是圖片框。。

圖片框的公式是
=a
圖片框的公式只能是簡單引用,不能寫成
=INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$2,Sheet1!$A:$A,))
這樣。

就能實現圖片是變數了

G. photoshop怎麼使用變數功能處理圖片

Ps技巧——如何批量更換證件照片和文字信息?https://haokan..com/v?vid

第一步,先做好證件的底,「姓名」,「職務」,「編號」和「照片」都是所謂的變數,是需要批量更換的。

第二步,建一個文本文件,實際上是一個Excel表轉存成的txt文件。第一行,把需要更換的變數分成幾個項目列出來。就是「姓名」、「職務」、「編號」、「照片」。需要注意的是,間隔的空格用Tab鍵敲出空格,因為要代替Excel表的格式。照片那一欄,下面顯示的是照片所在本文件夾的路徑。照片所在的文件夾以及照片的文件名。比如「模特頭像模特(1)」。

然後,每個項目下面寫上不同的變數內容。做好之後保存就可。

第三步,回到Ps,做一個證件的模板,比如將第一行的姓名內容、職務內容、編號內容,復制粘貼到ps裡面,調整顏色和大小。

照片拖進Ps,調整位置大小適合窗口。柵格化背景圖層。保存成psd文件。

(記著提前將要輸入的照片大小調整成一致的)

第四步,Ps菜單欄點——圖像變數定義。在跳出的對話窗口裡,勾選「文本替換」。讓每一個變數圖層和下面我們替換的「文本變數名稱」對應。「文本變數的名稱」改為每一個項目的名稱。比如,圖層0001,對應的名稱是「編號」。

到了「照片」圖層,勾選「像素替換」,像素變數名稱改為「照片」,下面的設置默認即可。最後點「確定」,退出小窗口。

第五步。再打開——圖像變數定義,在打開的小窗口裡面選擇「數據組」,在「數據組」小窗口裡,「選擇文件」將做好的文本文件選擇,下面兩個選項勾選,點「確定」。

第六步,在「數據組」的對話窗口裡,勾選「預覽」,檢查一一對應的照片和名字是否會改變。

第七步,Ps菜單欄,文件導出數據組作為文件,選擇要輸出的文件夾,若沒有的話就建一新的,小窗口裡其他設置選為默認。點「確定」,PS開始運算,生成批量文件。

第八步,檢查文件夾,看到生成的批量的psd文件已經存在了。下一步把這一批psd文件改成JPG文件。

第九步,回到Ps,菜單欄——文件腳本圖像處理器。跳出小窗口,選擇文件夾將生成那個psd文件夾選擇,選擇「在相同的位置存儲」,其他的選默認就可以,點「運行」。

第十步,檢查,完成。運用這種方法可以做若干張批量更換的圖片,大大提高你的工作效率。

H. vb 圖片轉換成二進制

dim a()
open XX for binay as #1 '這里的XX指的是圖片的路徑。
redim a(lof(1))
get #1,,a
close #1
'這樣,BMP圖片就被轉換成二進制的儲存在A這個數組變數中了。

I. js中插入圖片時如何讓圖片名設為一個變數

<img src="./image/"+$row+".jpg">別把變數放在引號里,否則它就把變數當成字元串了

J. 怎麼樣從matlab中取出圖片文件的變數,用於VC中。

使用jpg或者png圖片,則需要用到symbian提供的那個Multimedia ICL庫里的類了。其中比較重的是CImageDecoder類,提供了對圖像進行解碼的功能。

來看看如何使用它的吧。先定義兩個字串:

_LIT(KJPEGFile,"C:\\Data\\me.jpg");
_LIT(KJPEGType,"image/jpeg");

使用的代碼比較簡單,如下所示:

iDec = CImageDecoder::FileNewL(iRFs,KJPEGFile);

iParent->iBkImageMask=new (ELeave) CFbsBitmap();
iParent->iBkImageMask->Create( iDec-> FrameInfo().iOverallSizeInPixels,iDec-> FrameInfo().iFrameDisplayMode );
iDec->Convert( &iStatus, *(iParent->iBkImageMask) );
其中的iDec是CImageDecoder的實例,而iRFs是RFs的實例。而iParent->iBkImageMask則是一個CFbsBitmap對象實例。

也就是說,我們先利用CImageDecorder::FileNewL來打開一個圖像文件(它會自已判斷圖像類型,我們也可以提供給它我們指定的圖像類型)。然後這個圖像的信息就保存在iDec->FrameInfo()中了,利用這個信息可以創建一個CFbsBitmap實例(因為symbian中所有顯示的圖像都是這種類型)。最後,調用CImageDecorder的非同步函數Convert就可以將圖像(jpeg 或者png格式的)轉換成CFbsBitmap點陣圖了。唯一的麻煩是Convert是一個非同步函數,第一個參數是TRequestStatus類型(可以是一個活動對象的iStatus成員)。

除了CImageDecorder::FileNewL以外還有一個CImageDecorder:;DataNewL也可以用來從一個緩沖區的位元組內容構造出圖像數據,只是它第二個參數是TDesC8&類型的aSourceData。

[補充]

別忘了包括頭文件 ImageConversion.h,還有引入庫imageconversion.lib。

閱讀全文

與圖片如何轉換成變數相關的資料

熱點內容
女孩星球微信圖片 瀏覽:616
ps如何把圖片變大 瀏覽:239
圖片大全女生霸氣高冷背影 瀏覽:82
各種瓜的圖片大全 瀏覽:770
word我放圖片到裡面怎麼去除底色 瀏覽:801
室內桌子場景圖片高清大圖 瀏覽:618
動漫花裙子圖片 瀏覽:838
女生手放身前動漫圖片 瀏覽:617
子容衣服圖片 瀏覽:66
動漫駱駝圖片大全 瀏覽:825
男生新郎動漫頭像圖片 瀏覽:205
可愛衣服冬季圖片 瀏覽:338
最新三七分發型男潮圖片 瀏覽:442
手繪帥哥圖片動漫簡單校園 瀏覽:728
ps加個性文字後圖片如何輸出 瀏覽:831
二哈一窩可愛圖片 瀏覽:625
u盤中的圖片如何打開 瀏覽:869
word的圖片怎麼恢復 瀏覽:51
太空步怎麼練圖片 瀏覽:904
漫畫圖片女生校服 瀏覽:260