<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-37626267</id><updated>2009-12-08T07:18:00.438-08:00</updated><title type='text'>画像処理についてあれこれ</title><subtitle type='html'>ImageMagickをメインに、画像処理についてのTipsを書いていきます。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default?start-index=26&amp;max-results=25'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1385</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37626267.post-2594811808309957730</id><published>2009-12-08T07:18:00.000-08:00</published><updated>2009-12-08T07:18:00.484-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickでグラデーションのかかった角丸四角を描画する</title><content type='html'>PyWin32とImageMagickでグラデーションのかかった角丸四角を描画するには以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("-size", "200x200", "xc:none", &lt;br /&gt;"-fill", "gradient:#ccddff-#557799", &lt;br /&gt;"-draw", "roundrectangle 0,0 199,199 20,20", "sample1387a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1387a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvY2TLCBsbI/AAAAAAAAF6s/qGbVbWwiY7A/s1600-h/sample1387a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvY2TLCBsbI/AAAAAAAAF6s/qGbVbWwiY7A/s320/sample1387a.png" border="0" alt="PyWin32とImageMagickで描画したグラデーションのかかった角丸四角" id="BLOGGER_PHOTO_ID_5401564506084192690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-2594811808309957730?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/2594811808309957730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=2594811808309957730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/2594811808309957730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/2594811808309957730'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/pywin32imagemagick_08.html' title='PyWin32とImageMagickでグラデーションのかかった角丸四角を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cCx7DDoiq4w/SvY2TLCBsbI/AAAAAAAAF6s/qGbVbWwiY7A/s72-c/sample1387a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-3731742106816249041</id><published>2009-12-07T07:14:00.000-08:00</published><updated>2009-12-07T07:14:00.820-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで写真を重ねたような画像を描画する</title><content type='html'>PyWin32とImageMagickで写真を重ねたような画像を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("sf.jpg", "-resize", "50%", "-bordercolor", "#fbfaf7",&lt;br /&gt;"-border", "4x4", "-bordercolor", "#918164", "-border", "1x1", &lt;br /&gt;"-bordercolor", "none", "-border", "20x20", "-background", "none", &lt;br /&gt;"-shear", "0x10", "-repage", "+10-15", "(", "+clone", "-repage", &lt;br /&gt;"+0+0", ")", "(", "+clone", "-repage", "-10+15", ")", &lt;br /&gt;"-background", "#eeeeff", "-flatten", "sample1386a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1386a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvY1SZnkLII/AAAAAAAAF6k/Ei3fD4AUbnk/s1600-h/sample1386a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 160px; height: 176px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvY1SZnkLII/AAAAAAAAF6k/Ei3fD4AUbnk/s320/sample1386a.png" border="0" alt="PyWin32とImageMagickで写真を重ねたように描画した画像" id="BLOGGER_PHOTO_ID_5401563393308241026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-3731742106816249041?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/3731742106816249041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=3731742106816249041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/3731742106816249041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/3731742106816249041'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/pywin32imagemagick_07.html' title='PyWin32とImageMagickで写真を重ねたような画像を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-1126526997277380422</id><published>2009-12-06T07:09:00.000-08:00</published><updated>2009-12-06T07:09:00.371-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Processingで画像をグラデーションのかかった画像に変換する</title><content type='html'>Processingで画像をグラデーションのかかった画像に変換するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(200, 200);&lt;br /&gt;color c1 = color(#FFFF10);&lt;br /&gt;color c2 = color(#3070A0);&lt;br /&gt;&lt;br /&gt;int sx = 200;&lt;br /&gt;int sy = 200;&lt;br /&gt;&lt;br /&gt;float dr = (red(c2) - red(c1))/sy;&lt;br /&gt;float dg = (green(c2) - green(c1))/sy;&lt;br /&gt;float db = (blue(c2) - blue(c1))/sy;&lt;br /&gt;&lt;br /&gt;for(int ly=0;ly&amp;lt;sy;ly++){&lt;br /&gt;  color pc = color(&lt;br /&gt;    (red(c1) + ly*dr),&lt;br /&gt;    (green(c1) + ly*dg),&lt;br /&gt;    (blue(c1) + ly*db) &lt;br /&gt;  );&lt;br /&gt;  for(int lx=0;lx&amp;lt;sx;lx++){&lt;br /&gt;    set(lx, ly, pc);&lt;br /&gt;  }  &lt;br /&gt;}&lt;br /&gt;// オフスクリーンバッファを作成&lt;br /&gt;PGraphics gr = createGraphics(200, 200, JAVA2D);&lt;br /&gt;gr.colorMode(RGB, 255, 255, 255, 255);&lt;br /&gt;// 画像はdataディレクトリに置いておく&lt;br /&gt;PImage img = loadImage("SF.JPG");&lt;br /&gt;img.filter(GRAY);&lt;br /&gt;// 画像の表示&lt;br /&gt;gr.beginDraw();&lt;br /&gt;gr.image(img, 0, 0);&lt;br /&gt;gr.loadPixels();&lt;br /&gt;for(int li=0;li&amp;lt;img.width*img.height;li++){&lt;br /&gt;  gr.pixels[li] = &lt;br /&gt;    color(red(img.pixels[li]), &lt;br /&gt;    green(img.pixels[li]), &lt;br /&gt;    blue(img.pixels[li]),&lt;br /&gt;    128);&lt;br /&gt;}&lt;br /&gt;gr.updatePixels();&lt;br /&gt;gr.endDraw();&lt;br /&gt;image(gr, 0, 0);&lt;br /&gt;&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1385a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(SF.JPG)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvY0RZoBxnI/AAAAAAAAF6c/e0Hv1AGdqzc/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvY0RZoBxnI/AAAAAAAAF6c/e0Hv1AGdqzc/s320/SF.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5401562276618684018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1385a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/SvY0K6Cx5UI/AAAAAAAAF6U/FB5IdedAhjM/s1600-h/sample1385a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/SvY0K6Cx5UI/AAAAAAAAF6U/FB5IdedAhjM/s320/sample1385a.png" border="0" alt="Processingでグラデーションをかけた画像" id="BLOGGER_PHOTO_ID_5401562165061739842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-1126526997277380422?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/1126526997277380422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=1126526997277380422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1126526997277380422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1126526997277380422'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processing_06.html' title='Processingで画像をグラデーションのかかった画像に変換する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cCx7DDoiq4w/SvY0RZoBxnI/AAAAAAAAF6c/e0Hv1AGdqzc/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8335184526553766272</id><published>2009-12-06T02:36:00.000-08:00</published><updated>2009-12-06T02:36:00.461-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>ProcessingとJava Image Filters(pixels)を使用して画像を油絵風に加工する</title><content type='html'>ProcessingとJava Image Filters(pixels)を使用して画像を油絵風に加工するには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(300, 225);&lt;br /&gt;PImage img = loadImage("sf2.jpg");&lt;br /&gt;// 画像を油絵風に変換する&lt;br /&gt;OilFilter of = new OilFilter();&lt;br /&gt;// ピクセルでの効果範囲&lt;br /&gt;of.setRange(2);&lt;br /&gt;// 効果のレベル&lt;br /&gt;of.setLevels(7);&lt;br /&gt;PImage img2 = new PImage(of.filter((BufferedImage)img.getImage(), null));&lt;br /&gt;image(img2, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1444a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf2.jpg)：dataサブディレクトリに配置か、Add Filesで追加。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s1600-h/sf2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s320/sf2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5403965462252103154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1444a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/SweKgGO2HmI/AAAAAAAAGEQ/igWoZAP4pLE/s1600/sample1444a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/SweKgGO2HmI/AAAAAAAAGEQ/igWoZAP4pLE/s320/sample1444a.png" border="0" alt="ProcessingとJava Image Filters(pixels)を使用して油絵風に変換した画像" id="BLOGGER_PHOTO_ID_5406442161714896482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8335184526553766272?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8335184526553766272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8335184526553766272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8335184526553766272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8335184526553766272'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processingjava-image-filterspixels_06.html' title='ProcessingとJava Image Filters(pixels)を使用して画像を油絵風に加工する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s72-c/sf2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8573355805147892803</id><published>2009-12-05T07:05:00.000-08:00</published><updated>2009-12-05T07:05:00.732-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Processingで半透明の四角を描画する</title><content type='html'>Processingで半透明の四角を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// 画像の上に半透明の四角と文字列を描画する&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(200, 200);&lt;br /&gt;colorMode(RGB,255,255,255,255);&lt;br /&gt;// 背景色&lt;br /&gt;background(#ffffee);&lt;br /&gt;// 画像はdataディレクトリに置いておく&lt;br /&gt;PImage img = loadImage("SF.JPG");&lt;br /&gt;// 画像の表示&lt;br /&gt;image(img, 0, 0);&lt;br /&gt;// 半透明の四角を描画&lt;br /&gt;// 塗りつぶし色&lt;br /&gt;fill(#000000,128);&lt;br /&gt;noStroke();&lt;br /&gt;rect(img.width*0.1, img.height*0.3, img.width*0.8, img.height*0.4);&lt;br /&gt;// フォントを変換&lt;br /&gt;PFont font = createFont("Tahoma",20,true);&lt;br /&gt;// フォントを設定&lt;br /&gt;textFont(font);&lt;br /&gt;String message = "San Francisco";&lt;br /&gt;// 文字列の幅を取得&lt;br /&gt;float tw = textWidth(message);&lt;br /&gt;// 文字&lt;br /&gt;fill(#ffffff);&lt;br /&gt;text(message,img.width/2-tw/2,img.height/2+textDescent());&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1384a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(SF.JPG)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvYzTIHGgmI/AAAAAAAAF6M/o_nIJfBeDl4/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvYzTIHGgmI/AAAAAAAAF6M/o_nIJfBeDl4/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5401561206765290082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1384a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvYzHymPbiI/AAAAAAAAF6E/9wHTZl97Umk/s1600-h/sample1384a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvYzHymPbiI/AAAAAAAAF6E/9wHTZl97Umk/s320/sample1384a.png" border="0" alt="Processingで半透明の四角を描画する" id="BLOGGER_PHOTO_ID_5401561012011757090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8573355805147892803?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8573355805147892803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8573355805147892803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8573355805147892803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8573355805147892803'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processing_05.html' title='Processingで半透明の四角を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cCx7DDoiq4w/SvYzTIHGgmI/AAAAAAAAF6M/o_nIJfBeDl4/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8733328534311853164</id><published>2009-12-05T01:07:00.000-08:00</published><updated>2009-12-05T01:07:00.235-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GfxBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>GfxBuilderで四角を描画する</title><content type='html'>GfxBuilderで四角を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;import griffon.builder.gfx.render.*&lt;br /&gt;&lt;br /&gt;def gr = new GfxRenderer()&lt;br /&gt;gr.renderToFile("sample1420a.png", 100, 100){&lt;br /&gt;  antialias("on")&lt;br /&gt;  rect( x:10, y:10, width:80, height:80,&lt;br /&gt;    fill: color("#c8c0c0"),&lt;br /&gt;    borderColor: color("#808080"),&lt;br /&gt;    borderWidth: 2&lt;br /&gt;  )&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1420a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv5lRTU__mI/AAAAAAAAGAg/2H107wopLto/s1600-h/sample1420a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 100px; height: 100px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv5lRTU__mI/AAAAAAAAGAg/2H107wopLto/s320/sample1420a.png" border="0" alt="GfxBuilderで描画した四角" id="BLOGGER_PHOTO_ID_5403867950811709026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Groovy1.6.5, JDK6 Update16&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8733328534311853164?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8733328534311853164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8733328534311853164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8733328534311853164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8733328534311853164'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/gfxbuilder_05.html' title='GfxBuilderで四角を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv5lRTU__mI/AAAAAAAAGAg/2H107wopLto/s72-c/sample1420a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8875184183239492145</id><published>2009-12-04T07:01:00.000-08:00</published><updated>2009-12-04T07:01:00.672-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Processingで画像を回転させる</title><content type='html'>Processingで画像を回転させるには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(300, 225);&lt;br /&gt;// 背景色&lt;br /&gt;background(#ffffee);&lt;br /&gt;// 塗りつぶし色&lt;br /&gt;fill(#d0d0f0);&lt;br /&gt;// 画像はdataディレクトリに置いておく&lt;br /&gt;PImage img = loadImage("sf2.jpg");&lt;br /&gt;// 回転&lt;br /&gt;rotate(PI/6);&lt;br /&gt;// 画像の表示&lt;br /&gt;image(img, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1383a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf2.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/SvYycItwIjI/AAAAAAAAF58/OaKuXIUEvlU/s1600-h/sf2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/SvYycItwIjI/AAAAAAAAF58/OaKuXIUEvlU/s320/sf2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5401560262034596402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1383a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYyS4gy34I/AAAAAAAAF50/i9JtKEcbPk0/s1600-h/sample1383a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYyS4gy34I/AAAAAAAAF50/i9JtKEcbPk0/s320/sample1383a.png" border="0" alt="processingで回転させた画像" id="BLOGGER_PHOTO_ID_5401560103066460034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8875184183239492145?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8875184183239492145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8875184183239492145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8875184183239492145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8875184183239492145'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processing_04.html' title='Processingで画像を回転させる'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/SvYycItwIjI/AAAAAAAAF58/OaKuXIUEvlU/s72-c/sf2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-3868860997164325744</id><published>2009-12-04T04:19:00.000-08:00</published><updated>2009-12-04T04:19:00.448-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Processingとjsilhouetteを使用してアスタリスクを描画する</title><content type='html'>Processingとjsilhouetteを使用してアスタリスクを描画するには、以下のコードを実行します。jsilhouetteはhttp://code.google.com/p/jsilhouette/から jsilhouette-geom-0.3.1.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(200, 200);&lt;br /&gt;background(#f8f8ff);&lt;br /&gt;// 描画用PGraphics作成&lt;br /&gt;PGraphicsJava2D g2d=(PGraphicsJava2D)createGraphics(200, 200, JAVA2D);&lt;br /&gt;g2d.beginDraw();&lt;br /&gt;Graphics2D gr = g2d.g2;&lt;br /&gt;gr.setColor(new Color(#ffcc00));&lt;br /&gt;// 矢印を描画&lt;br /&gt;gr.fill(new Asterisk(100, 100, 80, 12, 5, 18, 1f));&lt;br /&gt;g2d.endDraw();&lt;br /&gt;&lt;br /&gt;image(g2d, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1480a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1480a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/SwifuHqu3NI/AAAAAAAAGJY/K2BM4amkGPw/s1600/sample1480a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/SwifuHqu3NI/AAAAAAAAGJY/K2BM4amkGPw/s320/sample1480a.png" border="0" alt="Processingとjsilhouetteを使用して描画したアスタリスク" id="BLOGGER_PHOTO_ID_5406746967339359442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-3868860997164325744?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/3868860997164325744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=3868860997164325744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/3868860997164325744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/3868860997164325744'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processingjsilhouette.html' title='Processingとjsilhouetteを使用してアスタリスクを描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/SwifuHqu3NI/AAAAAAAAGJY/K2BM4amkGPw/s72-c/sample1480a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-1635473407553571160</id><published>2009-12-03T06:57:00.000-08:00</published><updated>2009-12-03T06:57:01.742-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Processingで画像をセピア調に変換する</title><content type='html'>Processingで画像をセピア調に変換するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(300, 225);&lt;br /&gt;// 背景色&lt;br /&gt;background(#ffffee);&lt;br /&gt;// 塗りつぶし色&lt;br /&gt;fill(#d0d0f0);&lt;br /&gt;// 画像はdataディレクトリに置いておく&lt;br /&gt;PImage img = loadImage("sf2.jpg");&lt;br /&gt;// グレースケール&lt;br /&gt;img.filter(GRAY);&lt;br /&gt;// 着色&lt;br /&gt;tint(#fec243);&lt;br /&gt;// 画像の表示&lt;br /&gt;image(img, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1382a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf2.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYxjgXDc6I/AAAAAAAAF5s/WNz2PpfhmZg/s1600-h/sf2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYxjgXDc6I/AAAAAAAAF5s/WNz2PpfhmZg/s320/sf2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5401559289129300898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1382a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYxaEldyiI/AAAAAAAAF5k/-Uu9ITGeZKU/s1600-h/sample1382a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYxaEldyiI/AAAAAAAAF5k/-Uu9ITGeZKU/s320/sample1382a.png" border="0" alt="Processingでセピア調に変換した画像" id="BLOGGER_PHOTO_ID_5401559127054731810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-1635473407553571160?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/1635473407553571160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=1635473407553571160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1635473407553571160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1635473407553571160'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processing.html' title='Processingで画像をセピア調に変換する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cCx7DDoiq4w/SvYxjgXDc6I/AAAAAAAAF5s/WNz2PpfhmZg/s72-c/sf2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-388224940644219169</id><published>2009-12-03T02:31:00.000-08:00</published><updated>2009-12-03T02:31:00.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>ProcessingとJava Image Filters(pixels)を使用して画像を点状に加工する</title><content type='html'>ProcessingとJava Image Filters(pixels)を使用して画像を点状に加工するには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(200, 200);&lt;br /&gt;PImage img = loadImage("SF.JPG");&lt;br /&gt;// 画像を点状に変換する&lt;br /&gt;PointillizeFilter pf = new PointillizeFilter();&lt;br /&gt;// スケール&lt;br /&gt;pf.setScale(12);&lt;br /&gt;// エッジを表示するかどうか&lt;br /&gt;pf.setFadeEdges(false);&lt;br /&gt;// エッジの厚さ&lt;br /&gt;pf.setEdgeThickness(0.4f);&lt;br /&gt;// ランダムさ&lt;br /&gt;pf.setRandomness(0.2f);&lt;br /&gt;// あいまいさ&lt;br /&gt;pf.setFuzziness(0.2f);&lt;br /&gt;PImage img2 = new PImage(pf.filter((BufferedImage)img.getImage(), null));&lt;br /&gt;image(img2, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1443a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1443a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/SweJdcdBOaI/AAAAAAAAGEI/TqXTDLKaPb4/s1600/sample1443a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/SweJdcdBOaI/AAAAAAAAGEI/TqXTDLKaPb4/s320/sample1443a.png" border="0" alt="ProcessingとJava Image Filters(pixels)を使用して点状に加工した画像" id="BLOGGER_PHOTO_ID_5406441016628689314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-388224940644219169?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/388224940644219169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=388224940644219169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/388224940644219169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/388224940644219169'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/processingjava-image-filterspixels.html' title='ProcessingとJava Image Filters(pixels)を使用して画像を点状に加工する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-1687854841469900288</id><published>2009-12-02T06:53:00.000-08:00</published><updated>2009-12-02T06:53:00.200-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JOGL'/><title type='text'>JOGLで4色グラデーションのポリゴンを描画する</title><content type='html'>JOGLで4色グラデーションのポリゴンを描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;import java.io.*;&lt;br /&gt;import javax.media.opengl.*;&lt;br /&gt;import javax.media.opengl.glu.*;&lt;br /&gt;import com.sun.opengl.util.*;&lt;br /&gt;&lt;br /&gt;public class JoglSample61&lt;br /&gt;{&lt;br /&gt;    // 出力画像サイズ&lt;br /&gt;    private static int width = 300;&lt;br /&gt;    private static int height = 300;&lt;br /&gt;&lt;br /&gt;    public static void main(String args[])&lt;br /&gt;        throws IOException&lt;br /&gt;    {&lt;br /&gt;        GLDrawableFactory gldf = &lt;br /&gt;            GLDrawableFactory.getFactory();&lt;br /&gt;        GLCapabilities glc = new GLCapabilities();&lt;br /&gt;        glc.setDoubleBuffered(false);&lt;br /&gt;        GLPbuffer buf = gldf.createGLPbuffer(&lt;br /&gt;           glc, null, width, height, null);&lt;br /&gt;&lt;br /&gt;        buf.addGLEventListener(&lt;br /&gt;            new GLEventListener(){&lt;br /&gt;            // 初期化&lt;br /&gt;            public void init(GLAutoDrawable dr)&lt;br /&gt;            {&lt;br /&gt;                GL gl = dr.getGL();&lt;br /&gt;                // 背景色&lt;br /&gt;                gl.glClearColor(&lt;br /&gt;                    (float)0xf0/(float)0xff, &lt;br /&gt;                    (float)0xf0/(float)0xff, &lt;br /&gt;                    (float)0xf0/(float)0xff,&lt;br /&gt;                    1f);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            public void display(GLAutoDrawable dr)&lt;br /&gt;            {&lt;br /&gt;                GL gl = dr.getGL();&lt;br /&gt;                GLUT glut = new GLUT();&lt;br /&gt;                gl.glViewport(0, 0, width, height);&lt;br /&gt;&lt;br /&gt;                // 透視投影&lt;br /&gt;                gl.glMatrixMode(GL.GL_PROJECTION);&lt;br /&gt;                gl.glLoadIdentity();&lt;br /&gt;                float ratio = (float)height/(float)width;&lt;br /&gt;                gl.glFrustum(-1.0f, 1.0f, -ratio, ratio,&lt;br /&gt;                    5.0f, 60.0f);&lt;br /&gt;&lt;br /&gt;                gl.glMatrixMode(GL.GL_MODELVIEW);&lt;br /&gt;                gl.glLoadIdentity();&lt;br /&gt;                gl.glTranslatef(0.0f, 0.0f, -50.0f);&lt;br /&gt;&lt;br /&gt;                gl.glEnable(GL.GL_LIGHTING);&lt;br /&gt;                gl.glEnable(GL.GL_LIGHT0);&lt;br /&gt;                gl.glEnable(gl.GL_COLOR_MATERIAL);&lt;br /&gt;                gl.glEnable(GL.GL_NORMALIZE);&lt;br /&gt;                gl.glEnable(GL.GL_DEPTH_TEST);&lt;br /&gt;                gl.glClear(GL.GL_COLOR_BUFFER_BIT |GL.GL_DEPTH_BUFFER_BIT );&lt;br /&gt;&lt;br /&gt;                // X軸回転&lt;br /&gt;                gl.glRotatef(50.0f, 1.0f, 0.0f, 0.0f);&lt;br /&gt;&lt;br /&gt;                double rs = 15d;&lt;br /&gt;                gl.glBegin(GL.GL_POLYGON);&lt;br /&gt;                gl.glNormal3d(0, 1,0);&lt;br /&gt;                // 赤色&lt;br /&gt;                gl.glColor3f(1, 0, 0);&lt;br /&gt;                gl.glVertex3d(-rs/2, 0.0, rs/2);&lt;br /&gt;                // 緑色&lt;br /&gt;                gl.glColor3f(0, 1, 0);&lt;br /&gt;                gl.glVertex3d(-rs/2, 0.0, -rs/2);&lt;br /&gt;                // 青色&lt;br /&gt;                gl.glColor3f(0, 0, 1);&lt;br /&gt;                gl.glVertex3d(rs/2, 0.0, -rs/2);&lt;br /&gt;                // 黄色&lt;br /&gt;                gl.glColor3f(1, 1, 0);&lt;br /&gt;                gl.glVertex3d(rs/2, 0.0, rs/2);&lt;br /&gt;                gl.glEnd();&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            public void reshape(&lt;br /&gt;                GLAutoDrawable dr,&lt;br /&gt;                int x, int y,&lt;br /&gt;                int width, int height){}&lt;br /&gt;&lt;br /&gt;            public void displayChanged(&lt;br /&gt;                GLAutoDrawable dr,&lt;br /&gt;                boolean modeChanged,&lt;br /&gt;                boolean deviceChanged){}&lt;br /&gt;          }&lt;br /&gt;        );&lt;br /&gt;&lt;br /&gt;        GLContext context =  buf.createContext(null);&lt;br /&gt;        context.makeCurrent();&lt;br /&gt;        buf.display();&lt;br /&gt;        Screenshot.writeToFile(&lt;br /&gt;            new File("sample1381a.png"), width, height, true);&lt;br /&gt;        context.release();&lt;br /&gt;        context.destroy();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1381a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/SvYwXhB25-I/AAAAAAAAF5c/dqayMIhphJk/s1600-h/sample1381a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/SvYwXhB25-I/AAAAAAAAF5c/dqayMIhphJk/s320/sample1381a.png" border="0" alt="JOGLで描画した4色グラデーションのポリゴン" id="BLOGGER_PHOTO_ID_5401557983638775778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;JOGL1.1.1a, JDK6 Update14&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-1687854841469900288?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/1687854841469900288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=1687854841469900288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1687854841469900288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1687854841469900288'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/jogl4.html' title='JOGLで4色グラデーションのポリゴンを描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/SvYwXhB25-I/AAAAAAAAF5c/dqayMIhphJk/s72-c/sample1381a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8230004668935131181</id><published>2009-12-01T06:58:00.000-08:00</published><updated>2009-12-01T06:58:00.716-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで画像の端を円形にぼかす</title><content type='html'>PyWin32とImageMagickで画像の端を円形にぼかすには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("sf.jpg", "-background", "#ffffe0", &lt;br /&gt;"-vignette", "5x5+10+5", "sample1380a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1380a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvBC2qfm2tI/AAAAAAAAF5U/DdEAZH4Hsvs/s1600-h/sample1380a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_cCx7DDoiq4w/SvBC2qfm2tI/AAAAAAAAF5U/DdEAZH4Hsvs/s320/sample1380a.png" border="0" alt="PyWin32とImageMagickで画像の端を円形にぼかした結果" id="BLOGGER_PHOTO_ID_5399889460104452818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8230004668935131181?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8230004668935131181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8230004668935131181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8230004668935131181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8230004668935131181'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/pywin32imagemagick.html' title='PyWin32とImageMagickで画像の端を円形にぼかす'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8161787649048359948</id><published>2009-12-01T01:03:00.000-08:00</published><updated>2009-12-01T01:03:00.242-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GfxBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>GfxBuilderでポリゴンを描画する</title><content type='html'>GfxBuilderでポリゴンを描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;import griffon.builder.gfx.render.*&lt;br /&gt;&lt;br /&gt;def gr = new GfxRenderer()&lt;br /&gt;gr.renderToFile("sample1419a.png", 200, 200){&lt;br /&gt;  antialias("on")&lt;br /&gt;  polygon( points: [100,0, 0,198, 198,198],&lt;br /&gt;    fill: color("#c8c0c0"),&lt;br /&gt;    borderColor: color("#808080"),&lt;br /&gt;    borderWidth: 2&lt;br /&gt;  )&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1419a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/Sv5kf8UqkfI/AAAAAAAAGAY/mVQbQSbVjWE/s1600-h/sample1419a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/Sv5kf8UqkfI/AAAAAAAAGAY/mVQbQSbVjWE/s320/sample1419a.png" border="0" alt="GfxBuilderで描画したポリゴン" id="BLOGGER_PHOTO_ID_5403867102822699506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Groovy1.6.5, JDK6 Update16&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8161787649048359948?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8161787649048359948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8161787649048359948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8161787649048359948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8161787649048359948'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/12/gfxbuilder.html' title='GfxBuilderでポリゴンを描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cCx7DDoiq4w/Sv5kf8UqkfI/AAAAAAAAGAY/mVQbQSbVjWE/s72-c/sample1419a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-1159795689530388837</id><published>2009-11-30T06:41:00.000-08:00</published><updated>2009-11-30T06:41:00.563-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで画像上に斜線を描画する</title><content type='html'>PyWin32とImageMagickで画像上に斜線を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("sf.jpg", "-fx", "(i+j)%5==0?#FFFFFF:p", &lt;br /&gt;"sample1379a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1379a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_cCx7DDoiq4w/StnHbpaB4NI/AAAAAAAAF5M/qxLtWCF_B84/s1600-h/sample1379a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_cCx7DDoiq4w/StnHbpaB4NI/AAAAAAAAF5M/qxLtWCF_B84/s320/sample1379a.png" border="0" alt="PyWin32とImageMagickで斜線を描画した画像" id="BLOGGER_PHOTO_ID_5393561306538303698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-1159795689530388837?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/1159795689530388837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=1159795689530388837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1159795689530388837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/1159795689530388837'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagick_30.html' title='PyWin32とImageMagickで画像上に斜線を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-537546964944521253</id><published>2009-11-30T02:25:00.000-08:00</published><updated>2009-11-30T02:25:00.801-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>ProcessingとJava Image Filters(pixels)を使用して画像にひねりをかける</title><content type='html'>ProcessingとJava Image Filters(pixels)を使用して画像にひねりをかけるには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(300, 225);&lt;br /&gt;PImage img = loadImage("sf2.jpg");&lt;br /&gt;// 画像にひねりをかける&lt;br /&gt;TwirlFilter tf = new TwirlFilter();&lt;br /&gt;// 角度&lt;br /&gt;tf.setAngle(1.5f);&lt;br /&gt;// 中央座標X&lt;br /&gt;tf.setCentreX(0.4f);&lt;br /&gt;// 中央座標Y&lt;br /&gt;tf.setCentreY(0.6f);&lt;br /&gt;// 半径&lt;br /&gt;tf.setRadius(150f);&lt;br /&gt;PImage img2 = new PImage(tf.filter((BufferedImage)img.getImage(), null));&lt;br /&gt;image(img2, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1442a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf2.jpg)：dataサブディレクトリに配置か、Add Filesで追加。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s1600-h/sf2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s320/sf2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5403965462252103154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1442a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SweH2gHaUcI/AAAAAAAAGEA/W8X64ltWA_8/s1600/sample1442a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SweH2gHaUcI/AAAAAAAAGEA/W8X64ltWA_8/s320/sample1442a.png" border="0" alt="ProcessingとJava Image Filters(pixels)を使用してひねりをかけた画像" id="BLOGGER_PHOTO_ID_5406439248085275074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-537546964944521253?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/537546964944521253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=537546964944521253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/537546964944521253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/537546964944521253'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/processingjava-image-filterspixels_30.html' title='ProcessingとJava Image Filters(pixels)を使用して画像にひねりをかける'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s72-c/sf2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-6853897827946015659</id><published>2009-11-29T06:39:00.000-08:00</published><updated>2009-11-29T06:39:00.283-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで縁取り＋グラデーション塗りの文字列を描画する</title><content type='html'>PyWin32とImageMagickで縁取り＋グラデーション塗りの文字列を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("-size", "200x60", "xc:none", "-tile", &lt;br /&gt;"gradient:#ffffff-#f8c749", "-stroke", "#c0c0ff", &lt;br /&gt;"-strokewidth", "2", "-pointsize", "50", "-draw", &lt;br /&gt;"text 0,45 Python" , "sample1378a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1378a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/StnGwCnNKoI/AAAAAAAAF5E/6EQNSN5rD7g/s1600-h/sample1378a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 60px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/StnGwCnNKoI/AAAAAAAAF5E/6EQNSN5rD7g/s320/sample1378a.png" border="0" alt="PyWin32とImageMagickで描画した縁取り＋グラデーション塗りの文字列" id="BLOGGER_PHOTO_ID_5393560557390211714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-6853897827946015659?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/6853897827946015659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=6853897827946015659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/6853897827946015659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/6853897827946015659'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagick_29.html' title='PyWin32とImageMagickで縁取り＋グラデーション塗りの文字列を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/StnGwCnNKoI/AAAAAAAAF5E/6EQNSN5rD7g/s72-c/sample1378a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-4180668682266475178</id><published>2009-11-29T04:10:00.000-08:00</published><updated>2009-11-29T04:10:00.411-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Processingとjsilhouetteを使用して矢印を描画する</title><content type='html'>Processingとjsilhouetteを使用して矢印を描画するには、以下のコードを実行します。jsilhouetteはhttp://code.google.com/p/jsilhouette/から jsilhouette-geom-0.3.1.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(200, 200);&lt;br /&gt;background(#f8f8ff);&lt;br /&gt;// 描画用PGraphics作成&lt;br /&gt;PGraphicsJava2D g2d=(PGraphicsJava2D)createGraphics(200, 200, JAVA2D);&lt;br /&gt;g2d.beginDraw();&lt;br /&gt;Graphics2D gr = g2d.g2;&lt;br /&gt;gr.setColor(new Color(#ffcc00));&lt;br /&gt;// 矢印を描画&lt;br /&gt;gr.fill(new Arrow(50, 50, 100, 100));&lt;br /&gt;g2d.endDraw();&lt;br /&gt;&lt;br /&gt;image(g2d, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1479a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1479a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/Swidx6CcjbI/AAAAAAAAGJQ/7hf67MbipDs/s1600/sample1479a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/Swidx6CcjbI/AAAAAAAAGJQ/7hf67MbipDs/s320/sample1479a.png" border="0" alt="Processingとjsilhouetteを使用して描画した矢印" id="BLOGGER_PHOTO_ID_5406744833376947634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-4180668682266475178?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/4180668682266475178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=4180668682266475178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/4180668682266475178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/4180668682266475178'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/processingjsilhouette_29.html' title='Processingとjsilhouetteを使用して矢印を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cCx7DDoiq4w/Swidx6CcjbI/AAAAAAAAGJQ/7hf67MbipDs/s72-c/sample1479a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-7008048430777175785</id><published>2009-11-28T06:35:00.000-08:00</published><updated>2009-11-28T06:35:00.695-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで点線の角丸四角を描画する - その１</title><content type='html'>PyWin32とImageMagickで点線の角丸四角を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("-size", "200x200", "xc:white", "-stroke", "#ccddff", &lt;br /&gt;"-fill", "white", "-strokewidth", "3", "-draw", &lt;br /&gt;"stroke-dasharray 3,4 stroke-width 2 \&lt;br /&gt;roundrectangle 5,5 195,195 20,20", "sample1377a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1377a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnF6lQKfAI/AAAAAAAAF48/JHNiWPo51bY/s1600-h/sample1377a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnF6lQKfAI/AAAAAAAAF48/JHNiWPo51bY/s320/sample1377a.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5393559638975872002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-7008048430777175785?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/7008048430777175785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=7008048430777175785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/7008048430777175785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/7008048430777175785'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagick_28.html' title='PyWin32とImageMagickで点線の角丸四角を描画する - その１'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cCx7DDoiq4w/StnF6lQKfAI/AAAAAAAAF48/JHNiWPo51bY/s72-c/sample1377a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8306910284649590368</id><published>2009-11-28T01:00:00.000-08:00</published><updated>2009-11-28T01:00:01.294-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GfxBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>GfxBuilderで楕円を描画する</title><content type='html'>GfxBuilderで楕円を描画するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;import griffon.builder.gfx.render.*&lt;br /&gt;&lt;br /&gt;def gr = new GfxRenderer()&lt;br /&gt;gr.renderToFile("sample1418a.png", 200, 200){&lt;br /&gt;  antialias("on")&lt;br /&gt;  ellipse( cx:100, cy:100, radiusX:80, radiusY:40,&lt;br /&gt;    fill: color("#c8c0c0"),&lt;br /&gt;    borderColor: color("#808080"),&lt;br /&gt;    borderWidth: 2&lt;br /&gt;  )&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1418a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv5jquGC-2I/AAAAAAAAGAQ/qZUpTWf-2gU/s1600-h/sample1418a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv5jquGC-2I/AAAAAAAAGAQ/qZUpTWf-2gU/s320/sample1418a.png" border="0" alt="GfxBuilderで描画した楕円" id="BLOGGER_PHOTO_ID_5403866188470221666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Groovy1.6.5, JDK6 Update16&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8306910284649590368?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8306910284649590368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8306910284649590368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8306910284649590368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8306910284649590368'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/gfxbuilder_28.html' title='GfxBuilderで楕円を描画する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv5jquGC-2I/AAAAAAAAGAQ/qZUpTWf-2gU/s72-c/sample1418a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-4886907556450726157</id><published>2009-11-27T06:31:00.000-08:00</published><updated>2009-11-27T06:31:00.484-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで上下・左右に半透明グラデーションをかける</title><content type='html'>PyWin32とImageMagickで上下・左右に半透明グラデーションをかけるには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;# 上下半透明グラデーション&lt;br /&gt;im.convert("-size", "200x200", "xc:none", "(", "xc:#d0903080", &lt;br /&gt;"xc:#10101080", "+append", "-resize", "2x1", ")", "-channel",&lt;br /&gt;"rgba", "-fx", "v.p{(1-sin(pi*j/h)),1}", "sf.jpg", "+swap",&lt;br /&gt;"-composite", "sample1376a.png")&lt;br /&gt;&lt;br /&gt;# 左右半透明グラデーション&lt;br /&gt;im.convert("-size", "200x200", "xc:none", "(", "xc:#d0903080",&lt;br /&gt;"xc:#10101080", "+append", "-resize", "2x1", ")", "-channel",&lt;br /&gt;"rgba", "-fx", "v.p{(1-sin(pi*i/w)),1}", "sf.jpg", "+swap",&lt;br /&gt;"-composite", "sample1376b.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像1(sample1376a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnFFAP89sI/AAAAAAAAF40/PRsK1P3vjtY/s1600-h/sample1376a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnFFAP89sI/AAAAAAAAF40/PRsK1P3vjtY/s320/sample1376a.png" border="0" alt="PyWin32とImageMagickで出力した上下半透明グラデーション" id="BLOGGER_PHOTO_ID_5393558718509807298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像2(sample1376b.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnE6stSc7I/AAAAAAAAF4s/gd9nLKlmuT0/s1600-h/sample1376b.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnE6stSc7I/AAAAAAAAF4s/gd9nLKlmuT0/s320/sample1376b.png" border="0" alt="PyWin32とImageMagickで描画した左右半透明グラデーション" id="BLOGGER_PHOTO_ID_5393558541465449394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-4886907556450726157?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/4886907556450726157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=4886907556450726157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/4886907556450726157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/4886907556450726157'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagick_27.html' title='PyWin32とImageMagickで上下・左右に半透明グラデーションをかける'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8617678666475731538</id><published>2009-11-27T02:20:00.000-08:00</published><updated>2009-11-27T02:20:00.475-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>ProcessingとJava Image Filters(pixels)を使用して画像にマーブルフィルタをかける</title><content type='html'>ProcessingとJava Image Filters(pixels)を使用して画像にマーブルフィルタをかけるには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(300, 225);&lt;br /&gt;PImage img = loadImage("sf2.jpg");&lt;br /&gt;// 画像にマーブルフィルタをかける&lt;br /&gt;MarbleFilter mf = new MarbleFilter();&lt;br /&gt;// Xスケールの設定&lt;br /&gt;mf.setXScale(8f);&lt;br /&gt;// Yスケールの設定&lt;br /&gt;mf.setYScale(8f);&lt;br /&gt;// マーブルフィルタをかける量&lt;br /&gt;mf.setAmount(1.0f);&lt;br /&gt;// 荒れ具合を指定&lt;br /&gt;mf.setTurbulence(0.7f);&lt;br /&gt;PImage img2 = new PImage(mf.filter((BufferedImage)img.getImage(), null));&lt;br /&gt;image(img2, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1441a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf2.jpg)：dataサブディレクトリに配置か、Add Filesで追加。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s1600-h/sf2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s320/sf2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5403965462252103154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1441a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/SweG47SNusI/AAAAAAAAGD4/UCrOXyN3epg/s1600/sample1441a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/SweG47SNusI/AAAAAAAAGD4/UCrOXyN3epg/s320/sample1441a.png" border="0" alt="ProcessingとJava Image Filters(pixels)を使用してマーブルフィルタを適用した画像" id="BLOGGER_PHOTO_ID_5406438190226455234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8617678666475731538?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8617678666475731538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8617678666475731538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8617678666475731538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8617678666475731538'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/processingjava-image-filterspixels_27.html' title='ProcessingとJava Image Filters(pixels)を使用して画像にマーブルフィルタをかける'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s72-c/sf2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-9077079838973753325</id><published>2009-11-26T06:24:00.000-08:00</published><updated>2009-11-26T06:24:00.706-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickで画像にレンガ模様を重ね合わせる</title><content type='html'>PyWin32とImageMagickで画像にレンガ模様を重ね合わせるには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("-size", "200x200", "xc:none", "-fx",&lt;br /&gt;"(i+(floor(j/20)%2)*8)%30&gt;1&amp;&amp;\&lt;br /&gt;(i+(floor(j/20)%2)*8)%30&lt;29&amp;&amp;j%20&gt;1&amp;&amp;j%20&lt;19?0:1",&lt;br /&gt;"-shade", "-45x23",&lt;br /&gt;"sample1375a.png")&lt;br /&gt;&lt;br /&gt;im.convert("sf.jpg", "-channel", "rgba", "(", "sample1375a.png",&lt;br /&gt;"-alpha", "activate", "-channel", "a", "-fx", "0.3" "-channel", "rgba", &lt;br /&gt;")", "-composite",&lt;br /&gt;"sample1375b.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1375b.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/StnDRxA7o4I/AAAAAAAAF4k/Zd04ukkLE4Q/s1600-h/sample1375b.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/StnDRxA7o4I/AAAAAAAAF4k/Zd04ukkLE4Q/s320/sample1375b.png" border="0" alt="PyWin32とImageMagickでレンガ模様を重ね合わせた画像" id="BLOGGER_PHOTO_ID_5393556738735317890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-9077079838973753325?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/9077079838973753325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=9077079838973753325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/9077079838973753325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/9077079838973753325'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagick_26.html' title='PyWin32とImageMagickで画像にレンガ模様を重ね合わせる'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-8081459424955598676</id><published>2009-11-25T06:21:00.000-08:00</published><updated>2009-11-25T06:21:00.413-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickでバンド状のグラデーションを作成する</title><content type='html'>PyWin32とImageMagickでバンド状のグラデーションを作成するには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("-size", "200x200", "xc:white", "(", "-size", "1x1", &lt;br /&gt;"xc:#3070A0FF", "xc:#FFFF10FF", "-append", "-resize", "1x2", ")",&lt;br /&gt;"-fx", "v.p{0,floor(j/20)*20/h}",&lt;br /&gt;"sample1374a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1374a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnCf56VYPI/AAAAAAAAF4c/CM6xKc0P4AE/s1600-h/sample1374a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/StnCf56VYPI/AAAAAAAAF4c/CM6xKc0P4AE/s320/sample1374a.png" border="0" alt="PyWin32とImageMagickで作成したバンド状グラデーション" id="BLOGGER_PHOTO_ID_5393555882130104562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-8081459424955598676?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/8081459424955598676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=8081459424955598676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8081459424955598676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/8081459424955598676'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagick_25.html' title='PyWin32とImageMagickでバンド状のグラデーションを作成する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cCx7DDoiq4w/StnCf56VYPI/AAAAAAAAF4c/CM6xKc0P4AE/s72-c/sample1374a.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-2574134836499927834</id><published>2009-11-24T06:17:00.000-08:00</published><updated>2009-11-24T06:17:00.252-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyWin32-ImageMagick'/><title type='text'>PyWin32とImageMagickでcharcoal処理した画像にグラデーションをかける</title><content type='html'>PyWin32とImageMagickでcharcoal処理した画像にグラデーションをかけるには、以下のコードを実行します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# coding=UTF-8&lt;br /&gt;import win32com.client&lt;br /&gt;&lt;br /&gt;im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")&lt;br /&gt;im.convert("sf.jpg", "-enhance", "-enhance", "-charcoal", "1",&lt;br /&gt;"-contrast", "-alpha", "activate", "-channel", "a", "-fx", "r",&lt;br /&gt;"-channel", "rgba", "(", "-size", "200x200", &lt;br /&gt;"gradient:#F8C749-#BBDDFF", ")", "+swap", "-composite", &lt;br /&gt;"sample1373a.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf.jpg)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s1600-h/SF.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s320/SF.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375318387096262642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1373a)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_cCx7DDoiq4w/StnBuoloftI/AAAAAAAAF4U/AJ-mSm2Jn10/s1600-h/sample1373a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_cCx7DDoiq4w/StnBuoloftI/AAAAAAAAF4U/AJ-mSm2Jn10/s320/sample1373a.png" border="0" alt="PyWin32とImageMagickでcharcoal処理してグラデーションをかけた画像" id="BLOGGER_PHOTO_ID_5393555035666284242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-2574134836499927834?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/2574134836499927834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=2574134836499927834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/2574134836499927834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/2574134836499927834'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/pywin32imagemagickcharcoal.html' title='PyWin32とImageMagickでcharcoal処理した画像にグラデーションをかける'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Spj3l-l_l_I/AAAAAAAAFu8/pRB3KPcYZ3I/s72-c/SF.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37626267.post-253787630596384979</id><published>2009-11-24T02:13:00.000-08:00</published><updated>2009-11-24T02:13:00.518-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>ProcessingとJava Image Filters(pixels)を使用して画像をステンドグラス風に加工する</title><content type='html'>ProcessingとJava Image Filters(pixels)を使用して画像をステンドグラス風に加工するには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch-&gt;Add FilesメニューからSketchに追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;// キャンバスサイズ&lt;br /&gt;size(300, 225);&lt;br /&gt;PImage img = loadImage("sf2.jpg");&lt;br /&gt;// 画像をステンドグラスっぽく加工&lt;br /&gt;CrystallizeFilter cf = new CrystallizeFilter();&lt;br /&gt;// スケールの設定&lt;br /&gt;cf.setScale(8);&lt;br /&gt;// エッジを消すかどうか&lt;br /&gt;cf.setFadeEdges(false);&lt;br /&gt;// エッジの幅&lt;br /&gt;cf.setEdgeThickness(0.4f);&lt;br /&gt;// ランダムさ&lt;br /&gt;cf.setRandomness(0.5f);&lt;br /&gt;PImage img2 = new PImage(cf.filter((BufferedImage)img.getImage(), null));&lt;br /&gt;image(img2, 0, 0);&lt;br /&gt;// ファイル保存&lt;br /&gt;save("sample1440a.png");&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;元画像(sf2.jpg)：dataサブディレクトリに配置か、Add Filesで追加。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s1600-h/sf2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s320/sf2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5403965462252103154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;出力画像(sample1440a.png)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_cCx7DDoiq4w/SweFcARqXHI/AAAAAAAAGDw/LWgEYlNOPCg/s1600/sample1440a.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 300px; height: 225px;" src="http://4.bp.blogspot.com/_cCx7DDoiq4w/SweFcARqXHI/AAAAAAAAGDw/LWgEYlNOPCg/s320/sample1440a.png" border="0" alt="ProcessingとJava Image Filters(pixels)を使用してステンドグラス風に変換した画像" id="BLOGGER_PHOTO_ID_5406436593838480498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作環境&lt;br /&gt;Processing 1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37626267-253787630596384979?l=kyle-in-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kyle-in-jp.blogspot.com/feeds/253787630596384979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=37626267&amp;postID=253787630596384979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/253787630596384979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37626267/posts/default/253787630596384979'/><link rel='alternate' type='text/html' href='http://kyle-in-jp.blogspot.com/2009/11/processingjava-image-filterspixels_24.html' title='ProcessingとJava Image Filters(pixels)を使用して画像をステンドグラス風に加工する'/><author><name>kyle</name><uri>http://www.blogger.com/profile/04552840571621538070</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06107225176403410381'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cCx7DDoiq4w/Sv699NwEJfI/AAAAAAAAGCo/8Zj9qlBO5oE/s72-c/sf2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>