<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>聰明的生活2 &#187; 影像處理</title>
	<atom:link href="http://blog.yslifes.com/archives/category/imageprocessing/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yslifes.com</link>
	<description>自己寫java程式的一些筆記</description>
	<lastBuildDate>Tue, 27 Jul 2010 02:13:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<atom:link rel='hub' href='http://blog.yslifes.com/?pushpress=hub'/>
	
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://blog.yslifes.com/wp-includes/js/jquery/jquery.js?ver=1.4.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
jQuery.ajax({type:'GET',url:'http://blog.yslifes.com/wp-content/plugins/wp-postviews-plus/postviews_plus.php',data:'todowppvp=add&type=cat&id=29_1',cache:false,dataType:'script'});
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>[Java]產生SVG向量圖形檔-xml圖形檔</title>
		<link>http://blog.yslifes.com/archives/688</link>
		<comments>http://blog.yslifes.com/archives/688#comments</comments>
		<pubDate>Fri, 02 Jul 2010 02:26:17 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/688</guid>
		<description><![CDATA[SVG圖檔是一種利用xml及css來製作而成的一種向量圖形，放大或縮小均不會改變其品質，不過當圖形複雜到一定程式時，其檔案也會跟著變大很多，能夠設計SVG圖形作品的軟體工具包括Adobe Illustrator以及CorelDRAW等，要能查看svg檔案裡的圖形可以利用browser像是firefox、chrome都可以直接知道此向量圖形的內容。 Wiki SVG 在Java要輸出（產生）SVG檔很簡單，在Apache 套件裡有一個batik可以很簡單的就生成所要的SVG圖檔，只需要把原本在建立圖檔時使用的java.awt.Graphics2D變成使用org.apache.batik.svggen.SVGGraphics2D來繪製圖形就可以了。 產生的結果圖： 這個程式是在畫一個紅色範圍區塊，及draw一個字串在圖上。 在開發前需要把所有的batik套件全都載入classpath裡才可以使用，載點 下載後解開檔案，在目錄lib裡，把batik-dom.jar、batik-svggen.jar、batik-awt-util.jar、batik-util.jar、batik-ext.jar、batik.xml.jar載入就可以了 範例程式原始碼下如： package yku; &#160; import java.awt.Color; import java.awt.Graphics2D; import java.io.*; import org.apache.batik.dom.GenericDOMImplementation; import org.apache.batik.svggen.SVGGraphics2D; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; &#160; public class ImgToSVG &#123; public static void main&#40;String args&#91;&#93;&#41; &#123; DOMImplementation domImpl = GenericDOMImplementation .getDOMImplementation&#40;&#41;; &#160; // Create an instance of org.w3c.dom.Document. String svgNS = &#34;http://www.w3.org/2000/svg&#34;; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/688/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Java]如何產生Qrocde二維條碼?</title>
		<link>http://blog.yslifes.com/archives/684</link>
		<comments>http://blog.yslifes.com/archives/684#comments</comments>
		<pubDate>Mon, 28 Jun 2010 01:14:11 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[qrcode]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[二維條碼]]></category>
		<category><![CDATA[行動條碼]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/684</guid>
		<description><![CDATA[QRCode二維條碼，是Quick Response Code縮寫，來自日本的國際二維條碼標準，是在1994年由日本Denso-Wave公司所發明的，此公司並保有版權但並不行使版權，所以在使用QRCode上並沒有版權上的問題。QRCode的應用像是購物消費、資料查詢、名片交換等等，在日本使用上是十分常見的，而台灣在近幾年也開始流行了起來。 更詳細的QRCode介紹可以參考Wiki QR碼或是 行動條碼 / 二維碼 / Mobile Barcode / QRCode。 要利用Java來產生QRCode可以使用swetake所開放出來的原始碼http://www.swetake.com/qr/index-e.html，有php、ruby及Java等版本，下載點qrcode_java0.50beta10.tar.gz ，下載後解壓縮，可以直接把lib目錄下的QRcode.jar直接引用到程式classpath裡就可以了，或著把所有src目錄裡的java檔copy到專案source目錄裡也可。 Eclipse的配置如下圖 如何使用swetake來產生QRCode，主要的程式碼如下： 此程式主要在產生QRCode的方塊內容，其中字串str為要放入二維條碼內的資料，如果需要輸出成檔案格式則可使用return後面所保留的程式碼使用ImageIO.write來寫入檔案。 package yku.qrcode; &#160; import java.awt.*; import java.awt.image.*; &#160; //import javax.imageio.*; public class EnCodeTest &#123; public BufferedImage makeqrcode&#40;&#41; &#123; // 設定圖檔寬度 140*140 BufferedImage bi = new BufferedImage&#40;140, 140, BufferedImage.TYPE_INT_RGB&#41;; try &#123; &#160; // Constructor Qrcode Object com.swetake.util.Qrcode testQrcode [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/684/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Servlet]利用JMagick即時產生縮圖</title>
		<link>http://blog.yslifes.com/archives/641</link>
		<comments>http://blog.yslifes.com/archives/641#comments</comments>
		<pubDate>Sat, 22 May 2010 13:44:20 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[Jmagick]]></category>
		<category><![CDATA[servlet]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/641</guid>
		<description><![CDATA[剛好有個網友提到如何利用Servlet來產生縮圖，利用Servlet來產生而不存放成檔案，這種及時取得圖像的方法，比較不建議使用在需要大量輸出圖的狀況下，這樣子在記憶體的使用上會很重。 而為什麼使用ImageMagick來做縮圖呢？其實Java本身也可來製做縮圖，可是因為本身浮點運算的問題，效果並沒有很好，雖然麻煩了點，還是外掛dll來使用ImagicMagick會來的好。 JMagick ImageMagick等介紹及下載請參考： JMagick-Java open source free影像壓縮 範例的結果： 利用imageToBlob這個函數來產生byte array做為輸出OutputStream ps.記得把檔案先放在c糟，請自行下載範例圖 package yslifes.yku; &#160; import magick.ImageInfo; import magick.MagickException; import magick.MagickImage; &#160; public class JMagickScale &#123; public static byte&#91;&#93; getCompressByte&#40;String RealPathName, int CompressWidth, int CompressHeight&#41; &#123; byte&#91;&#93; data = new byte&#91;1&#93;; if &#40;System.getProperty&#40;&#34;jmagick.systemclassloader&#34;&#41; == null&#41; &#123; System.setProperty&#40;&#34;jmagick.systemclassloader&#34;, &#34;no&#34;&#41;; &#125; try &#123; // 來源路徑 java.io.File source [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/641/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>將文字加入圖片裡</title>
		<link>http://blog.yslifes.com/archives/527</link>
		<comments>http://blog.yslifes.com/archives/527#comments</comments>
		<pubDate>Sun, 28 Mar 2010 13:28:17 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/527</guid>
		<description><![CDATA[如果有時需要把文字加到圖片裡，像是加入亂數碼、流水號等，要怎麼做呢？ 方法很簡單，只需要先把input 檔案打開，再取得其畫筆，在我們要寫入文字的x y座標上，利用drawString把文字印上去就可以了。 首先我們先找一張圖，如果找不到的人可以利用以下這張圖，然後會在(150,113)印上＂土地公＂三個大字，顏色是紅色的、標楷體size 24。 結果如下： 原始碼： package tool; &#160; public class Image &#123; /** * * @param filesrc 檔案來源 * @param str 圖上的字 * @param outsrc 輸出檔案 * @param x位置 * @param y位置 */ public void composeStr&#40;String filesrc, String str, String outsrc, int x, int y, java.awt.Font font, java.awt.Color color&#41; &#123; try &#123; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/527/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何在圖上再放置另一張圖?</title>
		<link>http://blog.yslifes.com/archives/524</link>
		<comments>http://blog.yslifes.com/archives/524#comments</comments>
		<pubDate>Thu, 25 Mar 2010 11:52:31 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/524</guid>
		<description><![CDATA[這個可以做什麼運用呢？沒錯，可以拿來做浮水印。 方法很簡單，先開啟一張圖當基底，取得此基底的長寬建立一個BufferedImage，再拿這個BufferImage的畫筆Graphics，把基底圖畫上去，再來取得要放置在這張基底圖上的圖，依照設定坐標，畫在BufferedImage上，再來只要輸出就可以了。 首先先找二張圖，如果找不到的話可以下載下面二張圖 1.jpg 是高雄的旗津，這張當基底圖 2.jpg&#160; 這張是台南有名的矮仔成蝦仁飯，這張要印在1.jpg 上 這張就是印在坐標150,113上的結果，可以自己加上alpha 透明度。 程式碼如下： package tool; public class Image &#123; /** * * @param 背景圖 * ,基底 * @param 要印上去的圖 * @param 輸出位置 * @param 印上的圖x坐標 * @param 印上的圖y坐標 */ public void composePic&#40;String bgfilesrc, String logosrc, String outsrc, int x, int y&#41; &#123; try &#123; java.io.File bgfile = [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/524/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>二張圖合成一張圖左右二邊</title>
		<link>http://blog.yslifes.com/archives/521</link>
		<comments>http://blog.yslifes.com/archives/521#comments</comments>
		<pubDate>Wed, 24 Mar 2010 15:19:05 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/521</guid>
		<description><![CDATA[這是一個十分簡單的程式，主要的功用在於把二張size一樣的圖，合成在一張圖的左右二邊，程式寫的蠻死的，一定要size一樣，有興趣的人可以自己改成動態的二張圖。 首先我們先找了二張圖，就下面二張，如果突然找不到圖的朋友們，可以直接下載下面二張來使用。 圖一,1.jpg 圖二,2.jpg 合成的結果如下，寬應該是原圖的二倍，才可以容的下二張圖，不過因為怕我的blog版面放不下，所以只好縮小了。 程式碼如下：(有一點要注意，圖片太大的話有可能有out of memory的問題喔！) package tool; &#160; public class Image &#123; /** * 圖二位置,從左上角開始 */ public void createPicTwo&#40;&#41; &#123; &#160; try &#123; // File Load java.io.File fileOne = new java.io.File&#40;&#34;d:\\2.jpg&#34;&#41;; java.awt.image.BufferedImage ImageOne = javax.imageio.ImageIO .read&#40;fileOne&#41;; int width = ImageOne.getWidth&#40;&#41;; int height = ImageOne.getHeight&#40;&#41;; &#160; // 讀取圖片rgb int&#91;&#93; ImageArrayOne = new int&#91;width [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/521/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(教學)在Ubuntu裡建立Apache with Tomcat 服務-3</title>
		<link>http://blog.yslifes.com/archives/496</link>
		<comments>http://blog.yslifes.com/archives/496#comments</comments>
		<pubDate>Mon, 16 Nov 2009 12:43:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Imagemagick]]></category>
		<category><![CDATA[Jmagick]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/496</guid>
		<description><![CDATA[前二篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-2&#160;&#160;&#160; (教學)在Ubuntu裡建立Apache with Tomcat 服務-1 讓Apache Server與Tomcat Server做溝通 使Apache支援JSP及測試ImageMagick及JMagick是否可用 1.設定apache使用apj與tomcat做溝通,把所有內容向tomcat送 #sudo vi /etc/apache2/sites-available/default 在&#60;VirtualHost *:80&#62;&#60;/VirtualHost&#62;tag內增加 &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_conn$ &#160;&#160;&#160;&#160;&#160;&#160;&#160; LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so &#160;&#160;&#160;&#160;&#160;&#160;&#160; ProxyPass / ajp://127.0.0.1:8009/ &#160;&#160;&#160;&#160;&#160;&#160;&#160; ProxyPassReverse / ajp://127.0.0.1:8009/ 2.重新啟動tomcat及apache #sudo /etc/init.d/tomcat5 restart #sudo /etc/init.d/apache2 restart 測試http://localhost/是否跟http://localhost:8080/一樣 一樣的話就是成功了! 3.測試jmagick是否可用 #sudo vi /etc/tomcat5/webapps/ROOT/testimage.jsp [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/496/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(教學)在Ubuntu裡建立Apache with Tomcat 服務-2</title>
		<link>http://blog.yslifes.com/archives/495</link>
		<comments>http://blog.yslifes.com/archives/495#comments</comments>
		<pubDate>Fri, 13 Nov 2009 12:16:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[Imagemagick]]></category>
		<category><![CDATA[Jmagick]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/495</guid>
		<description><![CDATA[前一篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-1 再來要介紹JMagick及ImageMagick的安裝 in Ubuntu 9.10(Linux) 包含jpeg及png支援 1.安裝zlib -&#62;jpeg需使用 #cd /opt/ #sudo wget http://www.zlib.net/zlib-1.2.3.tar.gz #sudo tar zxvf zlib-1.2.3.tar.gz #cd /opt/zlib-1.2.3 #sudo ./configure #sudo make #sudo make install &#160; 2.安裝jpeg lib 使其支援jpeg jpg格式 #sudo mkdir /usr/local/modules #sudo mkdir /usr/local/modules/jpeg6 #sudo mkdir /usr/local/modules/jpeg6/bin #sudo mkdir /usr/local/modules/jpeg6/lib #sudo mkdir /usr/local/modules/jpeg6/include #sudo mkdir /usr/local/modules/jpeg6/man #sudo mkdir /usr/local/modules/jpeg6/man/man1 [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/495/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java利用Imagick來ReSize圖片檔-使用JMagick</title>
		<link>http://blog.yslifes.com/archives/396</link>
		<comments>http://blog.yslifes.com/archives/396#comments</comments>
		<pubDate>Fri, 18 Sep 2009 15:06:08 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[Imagemagick]]></category>
		<category><![CDATA[Jmagick]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/396</guid>
		<description><![CDATA[程式很簡單 ，只需要在利用command在程式目錄下執行 java -jar ReSizeImage.jar 就可以啦! 預設是縮成以寬為500px基準，如果要改變寬可以利用 java -jar ReSizeImage.jar 數字 縮完的圖會放到程式目錄的resize目錄裡 我Blog都是以500寬為基準，我想應該夠用了吧^^ 程式目錄結構 ReSizeImage.jar jmagick.dll lib/Jmagick.jar 記得要先下載Imagick來安裝才能使用喔 按裝方法如下: JMagick-Java open source free影像壓縮 範例圖檔可以按圖下載，放置於程式目錄 原始碼如下: class Tool整個壓縮以外的實作均在此 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/396/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JAVA]利用Jmagick(ImageMagick)來取得圖片的長寬</title>
		<link>http://blog.yslifes.com/archives/395</link>
		<comments>http://blog.yslifes.com/archives/395#comments</comments>
		<pubDate>Tue, 15 Sep 2009 15:01:31 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[影像處理]]></category>
		<category><![CDATA[Jmagick]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/395</guid>
		<description><![CDATA[一般Java要取得圖片的長寬size大部份的人，也是最簡單的方法， 就是使用java.awt.image.BufferedImage來取得，不過有時JVM在釋放記憶體來不及時，很容易會出Exception 這時候可以利用Jmagick來取得，它會呼叫外部的ImageMagick 的dll來取得長寬， 以下就是原始碼： import magick.ImageInfo; import magick.MagickException; import magick.MagickImage; import java.awt.Dimension; &#160; public static int[] getImageWH(String source) { &#160;&#160;&#160; if (System.getProperty(&#34;jmagick.systemclassloader&#34;) == null) { &#160;&#160;&#160;&#160;&#160; System.setProperty(&#34;jmagick.systemclassloader&#34;, &#34;no&#34;); &#160;&#160;&#160; } &#160;&#160;&#160; MagickImage image = null; &#160;&#160;&#160; int[] wh = new int[] { -1, -1 }; &#160;&#160;&#160; try { &#160;&#160;&#160;&#160;&#160; ImageInfo info = new ImageInfo(source); [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/395/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
