日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# 使用GDAL处理大图

發布時間:2025/3/17 C# 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# 使用GDAL处理大图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注意問題:

1.GDAL 使用官網生成好的dll,必須把Bin目錄下的dll一并加到執行目錄下去,否則會出錯。

?2. 用環境變量設置引用路徑可以避免一大堆dll放一起。代碼如下:

/// <summary>/// Function to determine which platform we're on/// </summary>private static string GetPlatform(){return IntPtr.Size == 4 ? "x86" : "x64";}/// <summary>/// Construction of Gdal/Ogr/// </summary>public static void Gdal_Configuration(){var executingAssemblyFile = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase).LocalPath;var executingDirectory = Path.GetDirectoryName(executingAssemblyFile);if (string.IsNullOrEmpty(executingDirectory))throw new InvalidOperationException("cannot get executing directory");var gdalPath = Path.Combine(executingDirectory, "gdal");var nativePath = Path.Combine(gdalPath, GetPlatform());// Prepend native path to environment path, to ensure the// right libs are being used.var path = Environment.GetEnvironmentVariable("PATH");path = nativePath + ";" ;Environment.SetEnvironmentVariable("PATH", path);Gdal.AllRegister();}

?

3.最好使用自己手動編譯的dll,會少很多沒使用到的dll,只用9個dll。

4.用GDAL的用戶控件,第二次拖動控件進窗體后會造成“未能加載工具箱項,將從列表中移除”的問題,建議代碼手動添加吧,是非托管dll的問題。

編譯步驟如下:

首先,下載GDAL源碼,官網下即可。

打開D:\gdal\nmake.opt

修改54行: GDAL_HOME = "D:\GDAL"。(編譯生成文件的保存路徑)

?????? 83行: SWIG = D:\swigwin-2.0.4\swig.exe(必須是swigwin.exe的完整路徑)。

????? 153行: "#WIN64=YES",去掉#。注意保存。

????? 675行:"SYM_PREFIX=_",去掉最后面的下劃線。

?

打開D:\gdal\makefile.vc,修改23~26行,將“_”改為$(SYM_PREFIX)。如圖:

?

打開D:\1.10.1\swig\csharp\AssemblyInfo.cs文件,將94行代碼注釋掉,解決安全透明代碼無法調用的問題。

?

打開 D:\1.10.1\swig\csharp\gdal\GdalPINVOKE.cs

?????????D:\1.10.1\swig\csharp\ogr\OgrPINVOKE.cs

???????? D:\1.10.1\swig\csharp\osr\OsrPINVOKE.cs?

???????????? 修改188~193行:將重復的代碼注釋掉,解決接口重定義的問題。

?

打開D:\1.10.1\swig\csharp\gdal\Band.cs|Dataset.cs|Driver.cs,修改第17行,解決接口成員名錯誤問題。

?public Band(IntPtr cPtr, bool cMemoryOwn, object parent) : base(GdalPINVOKE.Band_SWIGUpcast(cPtr), cMemoryOwn, parent)

?public Dataset(IntPtr cPtr, bool cMemoryOwn, object parent) : base(GdalPINVOKE.Dataset_SWIGUpcast(cPtr), cMemoryOwn, parent)

?public Driver(IntPtr cPtr, bool cMemoryOwn, object parent) : base(GdalPINVOKE.Driver_SWIGUpcast(cPtr), cMemoryOwn, parent) {

?

3、編譯

開始—所有程序—Microsoft Visual Studio 2010—Visual Studio Tools—Visual Studio x64兼容工具命令提示(2010)

打開命令行工具,cd d:\gdal-1.10.1

然后執行 nmake /f makefile.vc

??????????????? nmake /f makefile.vc install

??????????????? nmake /f makefile.vc devinstall

注:編譯可能要費一些時間,不要著急。

以上是完成了C++的編譯,要再進入csharp編譯。

執行???????? cd swig\csharp

????????????????nmake /f makefile.vc

??????????? (運行這一步有問題的話,加以下兩句:namke /f makefile.vc clear 、nmake /f makefile.vc interface)

??????????????? nmake /f makefile.vc install

正常情況下可以編譯成功。


命令參數說明:

使用命令:nmake -f makefile.vc MSVC_VER=1600 DEBUG=1 ANALYZE=1 WITH_PDB=1 可以設置使用的c++版本
MSVC_VER:VC++的版本,下面是對應關系
1900 = 14.0(2015)
1800 = 12.0(2013)
1700 = 11.0(2012)
1600 = 10.0(2010)
1500 = 9.0 (2008)
1400 = 8.0 (2005) - specific compilation flags, different from older VC++
1310 = 7.1 (2003)
1300 = 7.0 (2002)
1200 = 6.0
DEBUG:bebug版本標識,不使用此參數,默認為Release
ANALYZE=1:對GDAL代碼進行分析,這個一般不用
WITH_PDB=1:標識生成調試信息

總結

以上是生活随笔為你收集整理的c# 使用GDAL处理大图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三级a毛片 | 日韩精品无码一区二区三区久久久 | 你懂的在线免费观看 | 老司机精品导航 | 老地方在线观看免费动漫 | 爱操综合 | 久久黄色精品视频 | 精久久久久 | 欧美高清久久 | 麻豆传媒在线播放 | 9色在线| 天天色综| 青青操视频在线观看 | jzzijzzij亚洲成熟少妇18 欧美www在线观看 | 精品国产系列 | 美女爽爽爽| 高h喷汁呻吟3p | 久久99精品波多结衣一区 | 中文字幕蜜臀 | 一区二区视频播放 | 亚洲一区不卡 | 爱爱视频日本 | 91 久久| 久久网中文字幕 | 污污的网站在线免费观看 | 成人资源在线观看 | 亚洲国产精品成人综合在线 | 青青操视频在线 | 无码专区久久综合久中文字幕 | 夜夜骑av | 一本色道久久综合亚洲精品按摩 | 日韩美女性生活 | 91在线视频导航 | 人人亚洲 | 亚洲女人被黑人巨大进入 | 国产农村熟妇videos | 久久亚洲免费 | 欧美黑人又粗又大的性格特点 | 免费中文字幕日韩欧美 | 免费在线播放黄色片 | 青草久久网 | 亚洲影音先锋 | 亚洲性生活 | 91成人免费看片 | 久久黄色一级片 | 免费在线观看的av | 九九九九九热 | 欧美日韩六区 | 欧美不卡影院 | 少妇性l交大片免费观看 | 人妻视频一区二区三区 | 精品乱 | 一区国产视频 | 国产碰碰 | 亚洲福利小视频 | 福利视频亚洲 | 天干夜天干天天天爽视频 | 噜噜色成人 | 日韩成人av在线播放 | 日韩在线免费视频观看 | 婷婷婷色 | 农村村妇真实偷人视频 | 午夜久久视频 | 精品久久久久久无码人妻 | 日本一区二区三区四区五区 | youjizz欧美| 手机看片欧美日韩 | 操碰91 | 可以直接看的无码av | 亚洲免费视频大全 | 无套暴操| 欧美一级做性受免费大片免费 | 操夜夜操 | 上原亚衣在线 | 国产福利一区二区视频 | 上海女子图鉴 | 好看的毛片 | 西西大胆午夜视频 | 超级碰碰97| 欧美三级小说 | 久久青青操 | 亚洲色图25p| 久久免费黄色网址 | 五月开心激情 | 欧美性猛交乱大交 | 日韩av在线一区二区三区 | 黄色片美女 | 国产成人精品无码播放 | 国产又粗又长又大 | gogo人体做爰大胆视频 | 久久久久久国产精品无码 | 国产精品第一页在线观看 | 亚欧洲精品视频在线观看 | 91视频在线观看免费 | 三级无遮挡 | 骑骑上司妻电影 | 激情都市一区二区 | 精品久久久久久久久久久 | 国产九色在线 |