Java 讀取Word批註中的文本和圖片

本文將介紹讀取Word批註的方法,包括讀取Word批註中的文本及圖片。關於操作Word批註的方法還可以參考這兩篇文章:下面將通過Java代碼來演示如何讀取批註。

工具使用: Word類庫(Free Spire.Doc for Java免費版

Jar 文件獲取:可通過官網,下載後解壓文件,並將lib文件夾下的Spire.Doc.jar文件導入java程序;也可以通過Maven倉庫安裝導入,具體路徑配置及導入方法可以參考

測試文檔如下:批註中包含文本和圖片

 

 

 

【示例1 讀取批註中的文本

import com.spire.doc.* ;
 import com.spire.doc.documents.Paragraph;
 import com.spire.doc.fields.Comment;
 import com.spire.doc.fields.TextRange;

public  class ReadComment {
     public  static  void main(String[] args) {
         // 加載測試文檔 
        Document doc = new Document();
        doc.loadFromFile( "sample.docx" );

        // 實例化String類型變量 
        String text = "" ;

        // 遍歷所有批註
        for ( int i = 0;i< doc.getComments().getCount();i++ ){
            Comment comment = doc.getComments().get(i);
             // 遍歷所有批註中的段落
            for ( int j= 0;j < comment.getBody().getParagraphs().getCount();j++ ) {
                Paragraph paragraph = comment.getBody().getParagraphs().get(j);
                 // 遍歷段落中的對象
                for (Object object : paragraph.getChildObjects()) {
                     // 讀取文本
                    if (object instanceof TextRange) {
                        TextRange textRange = (TextRange) object;
                        text = text + textRange.getText();
                    }
                }
            }
        }
        // 輸入文本內容
        System.out.println(text);
    }
}

批註文本讀取結果:

 

【示例2 讀取批註中的圖片

import com.spire.doc.* ;
 import com.spire.doc.documents.Paragraph;
 import com.spire.doc.fields.Comment;
 import com.spire.doc.fields.DocPicture;

import javax.imageio.ImageIO;
 import java.awt.image.RenderedImage;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;


public  class ExtractImgsInComment {
     public  static  void main(String[] args) throws IOException{
         // 加載測試文檔 
        Document doc = new Document();
        doc.loadFromFile( "sample.docx" );

        // 創建ArrayList數組對象 
        ArrayList images = new ArrayList();

        // 遍歷所有批註
        for ( int i = 0;i< doc.getComments().getCount();i++ ){
            Comment comment = doc.getComments().get(i);
             // 遍歷所有批註中的段落
            for ( int j= 0;j < comment.getBody().getParagraphs().getCount();j++ ) {
                Paragraph paragraph = comment.getBody().getParagraphs().get(j);
                 // 遍歷段落中的對象
                for (Object object : paragraph.getChildObjects()) {
                     // 獲取圖片對象
                    if (object instanceof DocPicture){
                        DocPicture picture = (DocPicture) object;
                        images.add(picture.getImage());
                    }
                }
            }
        }
        // 提取圖片,並指定圖片格式
        for ( int z = 0; z< images.size(); z++ ) {
            File file = new File(String.format("圖片-%d.png" , z));
            ImageIO.write((RenderedImage) images.get(z), "PNG" , file);
        }
    }
}

批註圖片讀取結果:

 

(本文完)

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

台灣海運大陸貨務運送流程

兩岸物流進出口一站式服務

起站福島 東奧聖火傳遞路線輻射量仍超標

整理:鄒敏惠(環境資訊中心記者)

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

※專營大陸快遞台灣服務

台灣快遞大陸的貨運公司有哪些呢?

可惡!極罕見全白長頸鹿明星母子 雙雙被盜獵慘遭扒皮

摘錄自2020年3月11日自由時報報導

肯亞一保護區的稀有全白長頸鹿一家三口在2017年被拍下身影後成為園區明星,不僅全球媒體爭相報導,每年更吸引大量遊客前往觀賞。然而,當時就曾有專家憂心牠們獨特的毛色會為其惹來殺身之禍,果不其然,園方今日宣布噩耗,近日發現長頸鹿母子慘遭盜獵後僅剩白骨的屍體。

根據《CNN》報導,肯亞Ishaqbini Hirola保護區園方人員今(11日)證實,該園區明星、2017年爆紅的全白長頸鹿一家現已天人永隔,其中母、子獸在失蹤多時後,近日被發現僅剩森森白骨,後經確認遭盜獵者殺害、剝取毛皮後棄屍在地,專家認為,牠們已死亡至少四個月。

園方表示,此一殺戮悲劇在各層面上都是一記重拳,不僅嚴重挑釁當局保護稀有、獨特物種的政策與宣言,對於當地旅遊業、遺傳學研究所投入的科研資金更是一大打擊。

動物福利
國際新聞
肯亞
長頸鹿
盜獵
剝皮

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

台灣海運大陸貨務運送流程

兩岸物流進出口一站式服務

塞席爾特產 全球最大堅果海椰子瀕危

摘錄自2020年3月12日公視報導

來自印度洋群島國家塞席爾的特殊植物「海椰子」,擁有全世界最大的種子,果實又酷似女子的骨盆,而被人津津樂道,有些地區文化還將它視為愛情靈藥,但也因為濫採而面臨絕種危機。

海椰子的果肉每公斤價值可達約100美元,一個完整的空殼則可以賣出兩倍的價格。然而幾個世紀以來的過度開採,海椰子幾乎快要從世上消失。2011年,國際自然保護聯盟將海椰子列為「瀕危物種」。

海椰子的果實是全世界最大的堅果,塞席爾政府採取強硬措施保護,規定一年最多只能採收2000顆,並禁止整顆出口,嚴格管控限制買賣,希望藉此保護這項獨特的植物避免滅絕。

自然資源管理
永續發展
國際新聞
東非
印度洋
多群島國家
椰子

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!

再生能源將取代石油、電動車將讓油價再次崩跌?從技術觀點分析其可能性

彭博(Bloomberg)於 2015 年 10 月報導稱,替代能源與節能科技發威,全球將步入電力富足年代;2016 年 2 月更進一步報導稱,電動車將造成下個石油崩跌危機,甚至指出石化燃料會愈來愈不重要、再生能源價格會持續下降、人類的能源不再是問題?但這些可能成真嗎?

原文中有許多樂觀的預測,包括:石化燃料生產成本低,原油價格將為每桶 50 美元而非 90 美元、10 年內太陽能的價格就能和石化燃料競爭、電動車將讓石油走上末路。最後的結論是:科技不斷創新,未來有望步入「電力富足年代」,電動車會造成下一次油價崩跌。   不過真會如此順利嗎?就現實的技術面來考量,可能未必。因為再生能源發展最大的困難在於成本太高、穩定度太低,目前都必須依靠政策補貼,否則難在市場中競爭,依照目前的技術發展現況,恐怕未來 10 年仍然難以改變,以下分別從技術觀點把目前市場上最被看好的幾種再生能源做簡單的介紹分析,並簡述其取代傳統能源的困難點。  
太陽電池與模組:價格已經接近成本價,難有大幅下降空間   太陽電池是目前最成熟的再生能源,上中下游已經形成完整的產業鏈,其中單晶矽晶圓能量轉換效率較高,但是長單晶的成本也高;多晶矽薄片能量轉換效率有待提升,成本仍然不夠低;非晶矽薄膜能量轉換效率太低,許多廠商開發多年仍然沒有進展,甚至有的已經倒閉。   因此說「10 年之內,太陽能的價格就能和石化燃料競爭」恐怕是不可能的事,目前的太陽電池與模組價格已經接近成本價,再降就得虧錢賣,即使廠商願意流血殺價競爭,一個虧錢賣的產業能支持多久呢?未來太陽能價格的確有機會和石化燃料競爭,但原因不是太陽能價格下跌,而是石化燃料價格上漲。  
生質能:成本過高,更會影響糧食供應   「生質能(Biomass energy)」是指利用生物所產生的有機物質,來轉換成可以利用的電能或熱能,目前主要是以動物或植物所提煉出來的油脂,經由轉脂化反應產生的「生質柴油(Biodiesel)」,麻瘋樹果實提煉的生質柴油是目前被業界認為最可行的方法之一。   此外,以植物(醣類)經由微生物發酵反應產生的「生質酒精(Bioethanol)」,玉米與甘蔗提煉的生質酒精是目前被業界認為最可行的方法之一,但是這些生質能的價格仍然遠高於石化燃料,而且一旦大量使用一定會影響到糧食供應,所以有人說:生質能是搶窮人的糧食做為富人的燃料(對生質能的原理有興趣的人可以參考這裡)。  
鋰電池:成熟商品,但充電是個大問題   可移動的能源除了生質能,使用鋰電池是目前被認為最可行的方法,由於鋰電池的能量密度夠高,因此才有美國 Tesla 公司設計與製造的電動汽車與台灣 Gogoro 公司設計與製造的電動機車。   鋰電池如何充電是個大問題,因為電動汽車的電池重達 200 公斤,很難由使用者如 Gogoro 機車那樣自行更換充電,只能以定點充電的方式進行,即使目前的規格要求在 1 小時內完成充電,使用者是否能在加「電」站等 1 小時卻是個問題。   如果必須把車開回家在停車場充電,最大的問題是目前的電力基礎建設不足,假設大樓停車場有 100 個停車位,每個都設置插座,當 100 輛電動車同時充電時,大樓的變壓器無法承受如此巨大的電流,整個電力基礎建設,包括變壓器、變電所、高壓電塔都必須重新設計才能達成,聽起來就不是短期內可以做到的事,就更別說這些電還是來自發電廠,結局還是要用火力、核能、水力發電來提供電力的。  
氫能與燃料電池:終極環保的再生能源?氫氣來源是個大問題   傳統電池直接使用化學反應產生能量,優點是能量轉換效率很高(80% 以上),但充電需要比較長的時間;而使用燃料以內燃機(汽車引擊)進行燃燒反應產生能量,優點是可以直接補充燃料,但使用內燃機的能量轉換效率很低(30% 以下),科學家開始思考,有沒有一種方法同時具有「電池」與「燃料」的優點呢?於是燃料電池就此誕生了。   燃料電池和傳統電池的原理相同,都是將活性物質的化學能轉換成電能,但是傳統電池的電極本身是活性物質,會參與化學反應;而燃料電池的電極本身只是儲存容器而已,並不會參與化學反應(觸媒只用來引發化學反應),必須將活性物質(氫氣或含氫原子的化合物)加入電池內(就好像我們的汽車補充燃料一樣),才能產生化學反應形成電能,是一種要補充燃料的電池,故稱為「燃料電池(Fuel cell)」。   燃料電池使用氫氣與氧氣反應產生水,反應後排放的氮化物或硫化物極少,幾乎沒有任何污染,因此被視為終極環保的再生能源,但是燃料電池必須使用氫氣做為燃料,卻成為最大的問題。   高壓儲氫技術如何把又大又重又危險的氫氣鋼瓶放在車上是個大問題;因此有國外公司開發出可以承受 700 大氣壓的航太複合材料儲氫瓶,能取代氫氣鋼瓶;Toyota 公司更在去年推出氫燃料電池車款 Mirai 創下單次加滿氫氣可行駛 500 公里的紀錄,已經是成功的商品了,那麼它的問題到底在那裡呢?  

▲ 複合材料儲氫瓶。(Source:)  

▲ 氫燃料電池車款 Mirai。(Source: CC BY 2.0)   首先車上放了一個壓力這麼大的儲氫瓶是否安全是個問題,氫氣的來源則是更大的問題,大家都知道電解水可以產生氫氣與氧氣,問題是電解水產生氫氣的成本很高,而且這些電來自發電廠,結局還是要用火力、核能、水力發電來提供電力,為了降於成本目前工業上主要是將碳氫化合物(石油)以「蒸氣重組(Steam reforming)」的方式分解生產氫氣,搞了半天還是要以石油做為原料,這樣石油的價格怎麼可能「崩跌」?   此外,低壓儲氫技術的平衡壓力低於 10 大氣壓,安全性比高壓儲氫技術高,但必須使用貴重或稀有金屬(例如鑭鎳合金)做為儲氫合金,因此成本偏高。如果使用甲醇取代氫氣做為燃料的轉換效率很低,觸媒通常含有貴重或稀有金屬,所以價格偏高,依照目前燃料電池發展的情況,還是以高壓複合材料儲氫瓶的可行性最高(對燃料電池的原理有興趣的人可以參考這裡;對燃料電池的儲氫技術原理有興趣的人可以參考這裡)。  
目前石化燃料低價在於市場競爭供過於求   每次原油價格大跌,市場往往會出現「石油不重要」的言論,2001 年知識經濟興起就有「實質資產價值將不再,能源對經濟的影響轉弱」的說法,沒想到接下來油價在人為炒作下一路走高到 2008 年每桶 148 美元,並且成為金融海嘯爆發的間接原因之一;如今油價跌到每桶 30 美元,立刻又有人提出了「石化燃料生產成本低,全球將步入電力富足年代」的說法。   目前油價偏低是人為操作所造成的,石油輸出國家組織(Organization of Petroleum Exporting Countries,OPEC)為了打擊美國業岩油產業,不惜殺價競爭,目的就是要以低油價迫使美國業岩油廠商破產倒閉以搶回石油產業的主導權。   若真的美國業岩油廠商倒光了,OPEC 還會讓石油維持在這麼低的價格嗎?因此低油價是短期的現象,或許就是這幾年的時間而已,未來太陽能的價格能和石化燃料競爭,不是因為太陽能價格下跌,而是因為石化燃料價格上漲。  
人類會繼續依賴石油,但程度可能緩慢降低   目前工程上還沒有出現終極的技術足以取代石油,因此未來人類仍然繼續依賴石油或其他可以燃燒的東西(天然氣、煤碳),但是依賴程度可能會隨著環保意識與新能源技術的發展而緩慢減低,要完全取代石油為時尚遠。  
結論   第一,石化燃料最近處於低價不是因為生產成本低,而是因為市場競爭供過於求,未來 OPEC 發動的價格戰結束,油價就會回到 50 美元以上,再長遠看未來可低價開採的石油儲存量枯竭,原油價格上漲是必然的趨勢,不要說 90 美元,超過 100 美元都是有可能的。   第二,2040 年再生能源市場蓬渤發展是很有可能的,但是要取代石化燃料主導電力供應的可能性不高,而且主要不是因為再生能源價格下跌,而是石化燃料價格上漲,當油價回到 100 美元以上,再生能原價格就會很有競爭力了。   第三,省電科技與各種節能技術減少了電力需求是確定的,但這樣就說未來有望步入「電力富足年代」是過於誇大了;電動車或燃料電池汽車的發展確實可以減少空氣污染與石化燃料的消耗,但是要完全取代石化燃料是不可能的。   目前最大的問題在於:電價太便宜造成使用者沒有節約用電的習慣,各種價格較高的家庭能源管理系統(Home Energy Management System,HEMS)乏人問津;而電價如果真的大漲又會造成物價波動,受限於選舉與政治因素,要讓電價上漲也是困難重重,「電力富足年代」之說恐怕倍受考驗。   (首圖來源: CC BY 2.0)   (本文授權轉載自《》─〈〉

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

※專營大陸快遞台灣服務

台灣快遞大陸的貨運公司有哪些呢?

深圳坪山新區將打造新能源汽車推廣應用和運營示範區

近日,從深圳市坪山新區經濟服務局獲悉,《坪山新區新能源汽車推廣應用行動方案》(簡稱《方案》)正式出臺。

從《方案》中看到,新區將堅持大力發展新能源汽車產業與推廣新能源汽車的戰略方向,不僅制定了詳細的發展目標,還對重點任務和責任進行了分解。根據發展目標,新區力爭到2017年,在轄區範圍推廣使用2925輛新能源汽車。其中,公車500輛,計程車140輛,環衛、郵政、物流等專用車225輛,執法通勤車60輛,私人領域2000輛。

如何確保新能源汽車產業的健康發展和推廣應用,當然離不開完善的配套設施。新區在出臺《方案》的同時,還發佈了《新能源汽車充電設施佈局指引》(簡稱《指引》),引導各類新能源汽車充電設施全面發展、合理佈局,至2017年,將建設公交專用快充電樁297個,環衛專用快充電樁37個,公用快充電樁212個,慢充電樁2788個。

《指引》共分兩個階段,至2017年為試驗推廣階段,該階段以政府推動為主,依靠政府補貼和主導宣傳,逐步替換現有的傳統垃圾清運車、公車、大型企事業單位公用車、少量社會車輛和計程車。第二階段是運營普及階段,從2018年至2020年。期間,將以市場推動為主,在大量計程車和私家車主中推廣使用新能源汽車。

新區經濟服務局相關負責人表示,將發揮巴斯巴、沃特瑪等轄區企業的帶動作用,壯大產業鏈,在關鍵零部件領域實現突破性創新,打造全國新能源汽車技術創新中心和關鍵零部件生產基地。到2020年,力爭新能源汽車產業實現產值600億元。

相關閱讀

截至目前,坪山新區已建設有碧嶺村總站、大窩總站、坪山充電站等3個新能源公交充電站,公交專用充電樁共計56個;可供計程車使用的快充點1處,提供快充電樁20個;可供大型新能源車充電的網站有2處,分別位於新區管委會紅樓、多彩工業園,有充電樁12個;可供私家車慢充的設備點2處,其中,新區管委會大院內慢充電樁10個,比亞迪一廠慢充電樁400個。

新能源車專用快充網站:新區內公車快充網站共計17處,充電樁共計297個;大型環衛車專用快充網站2處,專用充電樁7個;電動環衛三輪車快充網站18處,充電樁共計30個。

新能源車公用快充網站:新區內公用快充設備點共計12處,充電樁共計212個;近期小車公用快充樁5km2服務半徑中心城區覆蓋水準達90%。

新能源車慢充設備點:新區內私家車慢充設備點共計62處,充電樁共計2788個。
 

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

台灣海運大陸貨務運送流程

兩岸物流進出口一站式服務

大眾因電池問題在美召回近5600輛e-Golf電動汽車

據路透社報導,大眾汽車週一稱,該公司將在美國市場上召回近5600萬輛e-Golf電動汽車,以便修復一個可能導致車輛熄火的電池問題。

大眾汽車表示,此次召回活動將覆蓋該公司自2014年11月份在美國市場上推出電動汽車以來所售出的全部車輛。

美國高速公路安全管理局週一稱,大眾汽車淨召回2015-2016年款e-Golf電動汽車,原因是其“高壓電池管理系統”中的軟體“可能會非故意地將短暫的內部電流浪湧/峰值分類為一種緊急的電池狀況”,從而導致車輛熄火。

大眾汽車已在此前承認其安裝了作弊軟體,從而使得58萬輛柴油動力汽車通過了美國的實驗室排放檢測,但其實際上路時的排放則遠高於標準,並因此而面臨諸多法律訴訟和業界批評。本月早些時候,該公司稱其美國部門首席執行官將會離職。

經銷商將為大眾汽車召回的電動汽車安裝更新好的軟體。去年,大眾汽車在美國總共售出了4232輛e-Golf汽車,遠高於2014年的357輛。在今年前兩個月時間裡,該公司則售出了526輛e-Golf。另外,此次召回活動還覆蓋了經銷商手中尚未售出的157輛電動汽車。

大眾汽車在其向美國高速公路安全管理局提交的檔中稱,這個問題可能會“導致高電壓電池突然被關閉,從而導致車輛的電動馬達熄火”。此前,大眾汽車曾在2015年初稱其首次收到了有關一樁熄火事件的資訊;在2015年6月份,一樁熄火事件則發生了在了一輛內部測試的車輛上。

最近幾個月以來,大眾汽車一直都在收到來自美國車主對熄火問題的投訴,從而促使其啟動了此次召回行動。

德國報紙《星期日世界報》曾在上個月報導稱,美國當局責令大眾汽車在該國生產電動汽車,從而作為彌補其操縱柴油車排放檢測過錯的一種方式。報導稱,美國環境保護署要求大眾汽車在其位於田納西州查特努加市的工廠生產電動汽車,並要求其幫助建設一個美國電動汽車充電站網路。美國環境保護署則拒絕就此報導置評。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!

Geometry 判斷幾何是否被另一個幾何/線段分割成多段

如下圖,如何判斷幾何多邊形A被多邊形B,切割為多段幾何?

 幾何A被幾何B切割

1. 獲取幾何A與幾何B的交集C

 var intersectGeometry = new CombinedGeometry(GeometryCombineMode.Intersect, geometry1, geometry2); 

 

 

2.幾何A排除交集C,得到餘下空白區域D

 var combinedGeometry = new CombinedGeometry(GeometryCombineMode.Exclude, geometry1, intersectGeometry); 

 

 3.判斷幾何D區域是否包含多段幾何

幾何D區分為倆段,獲取域的邊框近似點集,發現含有倆段線條的描述(倆段M->z的文本),與真實幾何分段對應。

所以,可以通過線條終止字符”z”個數,來判斷幾何的分段數量。

  • 獲取幾何的近似多邊形值
  • 獲取其路徑內的點集
  • 判斷點集中是否含有2個及以上的線條繪製結束字符”z”
1     var flattenedPathGeometry = combinedGeometry.GetFlattenedPathGeometry();
2     var outerPointsString = flattenedPathGeometry.Figures.ToString();
3     if (outerPointsString.Length > 2
4         && outerPointsString.Replace("z", string.Empty).Length == outerPointsString.Length - 2)
5     {
6         return true;
7     }

 完整函數見下方代碼

 1     /// <summary>
 2     /// 檢查幾何是否被另一個幾何分割成多段
 3     /// </summary>
 4     /// <param name="geometry1"></param>
 5     /// <param name="geometry2"></param>
 6     /// <returns></returns>
 7     private bool CheckGeometryIsDividedByAnotherGeometry(PathGeometry geometry1, Geometry geometry2)
 8     {
 9         var intersectGeometry = new CombinedGeometry(GeometryCombineMode.Intersect, geometry1, geometry2);
10         var combinedGeometry = new CombinedGeometry(GeometryCombineMode.Exclude, geometry1, intersectGeometry);
11         var flattenedPathGeometry = combinedGeometry.GetFlattenedPathGeometry();
12         var outerPointsString = flattenedPathGeometry.Figures.ToString();
13         var geometryList = outerPointsString.Split(new[] { 'M' }, StringSplitOptions.RemoveEmptyEntries).Where(i => i.Contains("z")).Select(i => $"M{i}").ToList();
14         if (geometryList.Count >= 2 && HintStrokePath.Data == null)
15         {
16             var a = Geometry.Parse(geometryList[0]); ;
17             var b = Geometry.Parse(geometryList[1]); ;
18         }
19         if (outerPointsString.Length > 2
20             && outerPointsString.Replace("z", string.Empty).Length == outerPointsString.Length - 2)
21         {
22             return true;
23         }
24         return false;
25     }

View Code

4. 獲取幾何被分割后的多段幾何內容

解析”M”、”z”,分別獲取倆段幾何數據

1     var geometryList = outerPointsString.Split(new[] { 'M' }, StringSplitOptions.RemoveEmptyEntries).Where(i => i.Contains("z")).Select(i => $"M{i}").ToList();
2     if (geometryList.Count >= 2)
3     {
4         var geometry1 = Geometry.Parse(geometryList[0]); ;
5         var geometry2 = Geometry.Parse(geometryList[1]); ;
6     }

幾何被直線分割

幾何被線段分割,如何判斷或者獲取分割后的多段幾何?

直接用線段與幾何重複上面的步驟,是有問題的。

線段類似“M150,130L150,1300 150,170z”去與幾何去交集,CombinedGeometry中的數據是空的

需要給線條添加1的粗細:

  var geometry2 = lineGeometry.GetWidenedPathGeometry(new System.Windows.Media.Pen(System.Windows.Media.Brushes.Black, 1)); 

結果如下圖:

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

※專營大陸快遞台灣服務

台灣快遞大陸的貨運公司有哪些呢?

手把手教你如何在阿里雲ECS搭建Python TensorFlow Jupyter

前段時間在阿里雲買了一台服務器,準備部署網站,近期想玩一些深度學習項目,正好拿來用。TensorFlow官網的安裝僅提及Ubuntu,但我的ECS操作系統是 CentOS 7.6 64位,搭建Python、TensorFlow、Jupyter開發環境過程中遇到很多問題。這裏將具體步驟分享給大家,可以少走很多彎路。

第一步 安裝anaconda

Anaconda在linux依然功能強大,管理工具包、開發環境、Python版本都非常方便。

先在根目錄下創建一個文件夾用於存放Anaconda安裝包

~# mkdir anaconda

~# cd anaconda

為保障下載速度,建議選擇清華大學鏡像站

選擇版本,複製鏈接

anaconda目錄下運行:

wget 

 

這裏可能會報錯,多半是無法解析主機地址,也即DNS解析的問題。

解決辦法:

登入root

sudo vim /etc/resolv.conf

修改內容為下

nameserver 8.8.8.8 

nameserver 8.8.4.4 

切換到anaconda3所在文件位置

 bash Anaconda3-2019.03-Linux-x86_64.sh

一路yes,直到安裝完成

如果中間報錯,這是因為之前創建過anaconda3了

解決辦法:

bash Anaconda3-2019.03-Linux-x86_64.sh -u

測試一下,python pip也都安裝成功了

如果在安裝Anaconda的過程中沒有將安裝路徑添加到系統環境變量中,需要在安裝後手工添加:

1、在終端輸入 vim/etc/profile,打開profile文件。

2、在文件末尾添加一行:

exportPATH=/root/anaconda3/bin:$PATH,保存。

3、讓/etc/profile文件修改后立即生效 ,可以使用如下命令: source /etc/profile

 

另外,Anaconda安裝完成後會創建一個叫base的默認環境,Linux的終端界面前部出現(base)字樣,如不介意,可以跳過這個步驟:

在終端中輸入conda deactivate,即可消除base字樣,但這是一次性的,再次打開終端依然存在base字樣。在.bashrc文件添加命令:conda deactivate可以永久消除base字樣。

1.打開一個終端 ,輸入命令:gedit~/.bashrc

2.在 .bashrc文件最後面添加命令:conda deactivate

 

第二步 安裝虛擬環境

virtualenv 是一個創建隔絕的Python環境的工具,用virtualenv創建一個包含所有必要的可執行文件的文件夾,用來使用Python工程所需的包。

conda也能配置虛擬環境,可以直接從base克隆

 conda create -n myenv–clone base

但是我還是習慣用virtualenv,conda方法的後續配置方法,大家自行嘗試。

1、安裝virtualenv

pip install virtualenv

在pip安裝包時,系統默認是從aliyun鏡像,我試過幾個鏡像源,發現還是清華的鏡像源比較快。我們修改一下配置文件:

mkdir ~/.pip

cd ~/.pip

vi pip.conf

將文件內容修改為以下內容,保存即可。

[global]

index-url =

2、安裝虛擬環境,這裏選擇Python3.7版,環境名設為:myenv

 conda create -n myenv python=3.7

3、激活虛擬環境

 source activate myenv

4、在虛擬環境安裝TensorFlow

 pip install –ignore-installed –upgrade packageURL

 

官網提供的URL來自google,由於眾所周知的原因。。。所以我們從pypi.org下載安裝

pip install –ignore-installed –upgrade

測試一下,安裝成功!

 

第三步 搭建Jupyter並遠程訪問

Anaconda安裝成功后,Jupyter也一樣安裝好了

But這樣是不行的,因為juypter集成在anaconda中,並不在虛擬環境myenv下,所以我們需要回到第二步中的激活虛擬環境,然後再次安裝jupyter:

pip install jupyter

安裝完成后運行#jupyter notebook會報錯,提示說找不到該文件之類的,是沒有配置環境變量的原因。

解決辦法:

vim /root/.jupyter/jupyter_notebook_config.py 

改幾個地方:

c.NotebookApp.ip = ‘ip地址’ #

c.NotebookApp.password = u’秘鑰’ 

c.NotebookApp.port = 8889 # 端口號,自設

c.NotebookApp.enable_mathjax = True 

c.NotebookApp.notebookdir = “jupyter安裝地址”

其中,ip地址可以在控制台實例列表中查詢,這裏要填寫下圖私有ip

 

秘鑰可以用ipython生成,是的anaconda也集成了ipython,設置一個簡單的密碼(別忘了,後面還要用),生成的秘鑰複製過去即可,代碼如下:

查詢jupyter安裝地址

將上文地址修改為/root/anaconda3/envs/myenv/bin

以上修改完畢,再次運行jupyter notebook

但是,還沒有結束呢。

我們還需要設置一下ECS實例的安全規則,入方向、出方向一樣。

至此,所有設置完畢!在服務器端運行jupyter notebook,進程在後台運行。

再次在控制台實例列表中查詢ip

本文由博客一文多發平台 發布!

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

台灣海運大陸貨務運送流程

兩岸物流進出口一站式服務

強颱哈吉貝沖走91袋核災污染廢棄物 日官方估:12存放所有相同危機

摘錄自2020年3月17日自由時報報導

去年第19號颱風哈吉貝重創日本關東地區,更衝刷走核災污染物臨時存放所中的污染物,引發擔憂。經日本環境省調查,在同樣降雨量下,部分臨存放所都隱藏著廢棄物流出危機;今(17日)內閣會議之後,環境大臣小泉進次郎對此做出回應。

環境省就存放所週邊河流與潛在淹水地區的322個地點進行調查,按強颱哈吉貝的降雨強度標準評估,共有12處臨時存放所,都有污染廢棄物流出的可能性,甚至還有土石流撕破塑膠袋等潛藏危機。

小泉進次郎在記者會上表示,鑑於近年暴雨的危機逐漸高升,望盡可能對此提早採取應變措施。對此,環境省將以搬運污染物至臨時存儲設施中存放、加裝圍欄以防流出等方式作為5月底以前的應變對策。

公害污染
廢棄物
核能
能源議題
國際新聞
日本
核災

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

※專營大陸快遞台灣服務

台灣快遞大陸的貨運公司有哪些呢?