阿里巴巴的一個Java圖片處理的類庫:SimpleImage
SimpleImage是阿里巴巴的一個Java圖片處理的類庫,可以實現圖片縮略、水印等處理。
SimpleImage中的ImageRender是圖片處理的基類,它是一個抽象類,我們看到,該類中定義了一個抽象方法render(),同時持有一個對ImageRender類的引用。
ReadRedner可以理解成一個組件,不是一個裝飾者,因為ReadRender是所有渲染操作的第一步。
其他的子類DrawTextRender(水印處理),ScaleRender(縮略處理),WriterRender(輸出)都是裝飾者。
拿ScaleRender為例子,看一下它的render()類的實現。紅色區域的內容,是上一層包裝的實現調方法render()的調用,之后的操作是ScaleRender需要關注的圖片縮略處理。
客戶端的調用如下所示。ReadRender需要引入一個輸入流,ScaleRender包裹ReadRender,WriteRender包裹ScaleRender,最后調用最外層的render()方法,處理圖像處理,層層進入,
首先ReadRender讀取圖片數據,ScaleRender進行圖片縮略,WriteReneder將處理之后的圖片數據寫入輸出流中,完成一系列操作。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!