當前位置:首頁 » 操作系統 » 海康源碼

海康源碼

發布時間: 2023-03-07 10:42:01

1. kettle 源碼 怎麼運行"repositories"插件

1.2. 編譯源碼
項目載入eclipse
kettle項目拷貝eclipseworkspace目錄eclipse新建java project項目名稱拷貝kettle文件夾名稱致

項目導入eclipse現錯誤圖文件源碼全部注釋掉

編譯
打build.xml, 右邊Outline 點擊kettle->run as ->ant build

第編譯候需要網載幾文件放C:\Documents and Settings\Administrator\.subfloor網路載比較慢直接文件放C:\Documents and Settings\Administrator\編譯完bin目錄.bat文件拷貝Kettle目錄點擊Spoon.bat運行運行功代表編譯已近通
用源碼運行Spoon
Kettle源碼工程本身能linux64位機器調試swt配置linux64庫所運行源碼前需要修改win32swt步驟:工程à屬性àJava Build Pathàlibrariesàadd jars

linux64SWT庫刪除

打src-uiàorg.pentaho.di.ui.spoonàSpoon.java Run As àjava application
二.源碼析
2.1. 修改kettle界面
修改初始化界面
打package org.pentaho.di.ui.spoonSpoon.Java找main函數該main函數Spoon工具入口找語句

Splash splash = new Splash(display);

該語句spoon初始化顯示界面跳定義Splash.java面函數

canvas.addPaintListener(new PaintListener() {
publicvoid paintControl(PaintEvent e) {
String versionText = BaseMessages.getString(PKG, "SplashDialog.Version") + " " + Const.VERSION; //$NON-NLS-1$ //$NON-NLS-2$

StringBuilder sb = new StringBuilder();
String line = null;

try {
BufferedReader reader = new BufferedReader(newInputStreamReader(Splash.class.getClassLoader().getResourceAsStream("org/pentaho/di/ui/core/dialog/license/license.txt")));//$NON-NLS-1$

while((line = reader.readLine()) != null) {
sb.append(line + System.getProperty("line.separator")); //$NON-NLS-1$
}
} catch (Exception ex) {
sb.append(""); //$NON-NLS-1$
Log.warn(BaseMessages.getString(PKG, "SplashDialog.LicenseTextNotFound")); //$NON-NLS-1$
}

String licenseText = sb.toString();
e.gc.drawImage(kettle_image, 0, 0);

// If this is a Milestone or RC release, warn the user
if (Const.RELEASE.equals(Const.ReleaseType.MILESTONE)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.DeveloperRelease") + " - " + versionText; //$NON-NLS-1$ //$NON-NLS-2$
drawVersionWarning(e);
} elseif (Const.RELEASE.equals(Const.ReleaseType.RELEASE_CANDIDATE)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.ReleaseCandidate") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}
elseif (Const.RELEASE.equals(Const.ReleaseType.PREVIEW)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.PreviewRelease") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}
elseif (Const.RELEASE.equals(Const.ReleaseType.GA)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.GA") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}

Font verFont = new Font(e.display, "Helvetica", 11, SWT.BOLD); //$NON-NLS-1$
e.gc.setFont(verFont);
e.gc.drawText(versionText, 290, 205, true);

// try using the desired font size for the license text
int fontSize = 8;
Font licFont = new Font(e.display, "Helvetica", fontSize, SWT.NORMAL); //$NON-NLS-1$
e.gc.setFont(licFont);

// if the text will not fit the allowed space
while (!willLicenseTextFit(licenseText, e.gc)) {
fontSize--;
licFont = new Font(e.display, "Helvetica", fontSize, SWT.NORMAL); //$NON-NLS-1$
e.gc.setFont(licFont);
}

e.gc.drawText(licenseText, 290, 290, true);
}
});

1. 修改背景圖片
找ui/image/面kettle_splash.png替換該圖片
2. 修改版本信息
找e.gc.drawText(versionText, 290, 205, true); 改e.gc.drawText("海康威視數據交換平台V1.0", 290, 205, true);
3. 修改面描述性文字
找e.gc.drawText(licenseText, 290, 290, true);改e.gc.drawText("作者:海康", 290, 290, true);
4. 預覽效

2. 用Java web 實現海康威視監控預覽功能

這個需要二次開發嗎?、

海康的IPC或者錄像機直接在IE登陸都可以看到實時監控畫面。

另外你說的插件是不是就是登陸時候提示安裝的那個?你可以登陸試一下,會提示下下載。

3. 如何使用kettle源碼更改spoon的東西

1.2. 編譯源碼
將項目載入到eclipse
將kettle項目拷貝到eclipse的workspace目錄下,在eclipse中新建java project,項目名稱和你拷貝過來的kettle文件夾名稱一致

項目導入到eclipse中會出現一個錯誤,如下圖,將這個文件的源碼全部注釋掉

編譯
打開build.xml, 在右邊的。Outline 點擊kettle->run as ->ant build

第一次編譯的時候需要從網上下載幾個文件,放在C:\Documents and Settings\Administrator\.subfloor,網路不好的話下載會比較慢,也可以直接文件放在C:\Documents and Settings\Administrator\下。編譯完成後將bin目錄下的.bat文件拷貝到Kettle目錄下點擊Spoon.bat運行,運行成功代表編譯已近通過
用源碼運行Spoon
Kettle源碼工程本身可能是在linux64位機器上調試的,swt配置是linux64的庫,所有在運行源碼前需要修改成win32的swt,步驟如下:工程à屬性àJava Build Pathàlibrariesàadd jars

然後將linux64的SWT庫刪除

最後打開src-uiàorg.pentaho.di.ui.spoonàSpoon.java, Run As àjava application
二.源碼分析
2.1. 修改kettle界面
修改初始化界面
打開package org.pentaho.di.ui.spoon的Spoon.Java,找到main函數,該main函數為Spoon工具的入口,找到如下語句

Splash splash = new Splash(display);

該語句為spoon初始化顯示的界面,跳到定義Splash.java,下面函數

canvas.addPaintListener(new PaintListener() {
publicvoid paintControl(PaintEvent e) {
String versionText = BaseMessages.getString(PKG, "SplashDialog.Version") + " " + Const.VERSION; //$NON-NLS-1$ //$NON-NLS-2$

StringBuilder sb = new StringBuilder();
String line = null;

try {
BufferedReader reader = new BufferedReader(newInputStreamReader(Splash.class.getClassLoader().getResourceAsStream("org/pentaho/di/ui/core/dialog/license/license.txt")));//$NON-NLS-1$

while((line = reader.readLine()) != null) {
sb.append(line + System.getProperty("line.separator")); //$NON-NLS-1$
}
} catch (Exception ex) {
sb.append(""); //$NON-NLS-1$
Log.warn(BaseMessages.getString(PKG, "SplashDialog.LicenseTextNotFound")); //$NON-NLS-1$
}

String licenseText = sb.toString();
e.gc.drawImage(kettle_image, 0, 0);

// If this is a Milestone or RC release, warn the user
if (Const.RELEASE.equals(Const.ReleaseType.MILESTONE)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.DeveloperRelease") + " - " + versionText; //$NON-NLS-1$ //$NON-NLS-2$
drawVersionWarning(e);
} elseif (Const.RELEASE.equals(Const.ReleaseType.RELEASE_CANDIDATE)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.ReleaseCandidate") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}
elseif (Const.RELEASE.equals(Const.ReleaseType.PREVIEW)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.PreviewRelease") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}
elseif (Const.RELEASE.equals(Const.ReleaseType.GA)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.GA") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}

Font verFont = new Font(e.display, "Helvetica", 11, SWT.BOLD); //$NON-NLS-1$
e.gc.setFont(verFont);
e.gc.drawText(versionText, 290, 205, true);

// try using the desired font size for the license text
int fontSize = 8;
Font licFont = new Font(e.display, "Helvetica", fontSize, SWT.NORMAL); //$NON-NLS-1$
e.gc.setFont(licFont);

// if the text will not fit the allowed space
while (!willLicenseTextFit(licenseText, e.gc)) {
fontSize--;
licFont = new Font(e.display, "Helvetica", fontSize, SWT.NORMAL); //$NON-NLS-1$
e.gc.setFont(licFont);
}

e.gc.drawText(licenseText, 290, 290, true);
}
});

1. 修改背景圖片
找到ui/image/下面的kettle_splash.png,替換該圖片
2. 修改版本信息
找到e.gc.drawText(versionText, 290, 205, true); 改為e.gc.drawText("海康威視數據交換平台V1.0", 290, 205, true);
3. 修改下面的描述性文字
找到e.gc.drawText(licenseText, 290, 290, true);改為e.gc.drawText("作者:海康", 290, 290, true);
4. 預覽效果

4. 跪求海康C#的車牌識別功能即ManualSnap的DEMO源代碼!!!

去CSDN找,我發了一個

熱點內容
促銷升級源碼 發布:2025-08-21 13:20:39 瀏覽:67
各大資料庫 發布:2025-08-21 13:13:53 瀏覽:810
設計圖庫加密 發布:2025-08-21 13:06:38 瀏覽:515
索引存儲是數據的存儲方式么 發布:2025-08-21 13:05:31 瀏覽:506
我的世界大型伺服器ip大全 發布:2025-08-21 12:54:23 瀏覽:578
htcandroidl 發布:2025-08-21 12:50:59 瀏覽:963
編程拳皇 發布:2025-08-21 12:50:57 瀏覽:330
sqlserver2005作業 發布:2025-08-21 12:15:25 瀏覽:325
安卓手機怎麼設置側邊任務欄 發布:2025-08-21 12:11:10 瀏覽:774
二級c能編譯嗎 發布:2025-08-21 11:58:53 瀏覽:973