<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2486004506574212190</id><updated>2011-07-08T12:53:54.234+09:00</updated><title type='text'>WWDC2009_Kazuki_Endo</title><subtitle type='html'>I'll attend the WWDC2009 in San Francisco from June 8th to 12.
I write this blog, about WWDC2009.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-5367140504403021340</id><published>2009-06-04T02:10:00.004+09:00</published><updated>2009-06-04T02:33:32.143+09:00</updated><title type='text'></title><content type='html'>Hi, everyone!&lt;br /&gt;I'd leave from Sendai. At tomorrow(today!?).&lt;br /&gt;...today, I prepared about departure and I studied NSUserDefault class and NSMutableDictionary class.&lt;br /&gt;I thought I can get a feature of "save" and "restore".&lt;br /&gt;But I couldn't it.&lt;br /&gt;NSUserdefault clas is can save and restore a data includes  NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary. &lt;br /&gt;I save the UIImage class object, but NSUserDefault class can't save the UIImage class object.&lt;br /&gt;Therefore, I save a NSMutableDictionary class object includes the UIImage classobject.&lt;br /&gt;But I couldn't.&lt;br /&gt;NSUserDefault class could restore the NSMUtableDictionary object, but not UIIMage class object is include the NSMutableDictionary object.&lt;br /&gt;&lt;br /&gt;mmm...&lt;br /&gt;&lt;br /&gt;After all, I have to translate the UIImage class object to the NSdata class object.&lt;br /&gt;I don't know about it,,,,,..&lt;br /&gt;I'll confer to apple engineer in the WWDC2009.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xGHcT1l3XJU/Siaxjb9_QKI/AAAAAAAAAMc/lvDmETS4FOE/s1600-h/Screenshot+2009.06.04+02.01.12.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/Siaxjb9_QKI/AAAAAAAAAMc/lvDmETS4FOE/s400/Screenshot+2009.06.04+02.01.12.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343153230282965154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll just have to keep working in the WWDC2009.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-5367140504403021340?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/5367140504403021340/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/hi-everyone-id-leave-from-sendai.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/5367140504403021340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/5367140504403021340'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/hi-everyone-id-leave-from-sendai.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/Siaxjb9_QKI/AAAAAAAAAMc/lvDmETS4FOE/s72-c/Screenshot+2009.06.04+02.01.12.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-8915157522169774672</id><published>2009-06-03T04:09:00.005+09:00</published><updated>2009-06-03T04:27:21.077+09:00</updated><title type='text'>6/1</title><content type='html'>Good morning.&lt;br /&gt;I prepared to the WWDC2009.&lt;br /&gt;&lt;br /&gt;I proposed a Schedule(reserved a bus,　action in Sunfransisco, and more) and prepared a lab session.&lt;br /&gt;I'll have a talk to Apple engineers in lab session.&lt;br /&gt;I made a data for lab session.&lt;br /&gt;Because I'd like to get good answer in lab session, I made the earnest data.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xGHcT1l3XJU/SiV7PNYbgqI/AAAAAAAAAMU/OYqQXdqJOWw/s1600-h/Picture+27.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 214px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/SiV7PNYbgqI/AAAAAAAAAMU/OYqQXdqJOWw/s400/Picture+27.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5342812034165342882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xGHcT1l3XJU/SiV7O8PoohI/AAAAAAAAAMM/BwrlCV53UzI/s1600-h/Picture+29.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 274px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/SiV7O8PoohI/AAAAAAAAAMM/BwrlCV53UzI/s400/Picture+29.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5342812029565051410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll go to lab for I get best answer about problem of a Quartz2D(My application).&lt;br /&gt; &lt;br /&gt;And I'll go to User Interface design lab session.&lt;br /&gt;I study about it until attend the WWDC2009.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-8915157522169774672?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/8915157522169774672/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/61.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8915157522169774672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8915157522169774672'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/61.html' title='6/1'/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xGHcT1l3XJU/SiV7PNYbgqI/AAAAAAAAAMU/OYqQXdqJOWw/s72-c/Picture+27.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-3702529062546795483</id><published>2009-06-02T07:21:00.002+09:00</published><updated>2009-06-02T07:32:13.441+09:00</updated><title type='text'></title><content type='html'>Good morning.&lt;br /&gt;I studied about UI Design by pdf  "iPhone Human Inter face Guidelines&lt;br /&gt;", because I'll attend the "iPhone Interface Design Consulting Lab"&lt;br /&gt;but I couldn't study hard, because I had to do other work.&lt;br /&gt;&lt;br /&gt;I read some of pages only...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-3702529062546795483?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/3702529062546795483/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/good-morning.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3702529062546795483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3702529062546795483'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/good-morning.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-5283174876195644355</id><published>2009-06-01T06:09:00.005+09:00</published><updated>2009-06-01T07:02:33.720+09:00</updated><title type='text'>5/31</title><content type='html'>Good morning !&lt;br /&gt;I solved most of yesterday problem.&lt;br /&gt;I didn't know a content of unknown address　at yesterday.&lt;br /&gt; But I could know most of a real identity.&lt;br /&gt;It's alpha value of pixel.&lt;br /&gt;Each values(RGBA) are exist in the each address.&lt;br /&gt;Please see below.&lt;br /&gt;+-----+ ＿&lt;br /&gt;|alpha|    |&lt;br /&gt;+-----+    |&lt;br /&gt;|blue |     |&lt;br /&gt;+-----+    Current pixel&lt;br /&gt;|green|    |&lt;br /&gt;+-----+    |&lt;br /&gt;|red    |    |&lt;br /&gt;+-----+ ＿&lt;br /&gt;|alpha|    |&lt;br /&gt;+-----+    |&lt;br /&gt;|blue |     |&lt;br /&gt;+-----+     Next pixel&lt;br /&gt;|green|    |&lt;br /&gt;+-----+    |&lt;br /&gt;|red   |     |&lt;br /&gt;+-----+ ￣&lt;br /&gt;| :       |&lt;br /&gt;| :       |&lt;br /&gt;&lt;br /&gt;So, these exist it seem above.&lt;br /&gt;I tried change value of alpha.&lt;br /&gt;But It's not complete.&lt;br /&gt;I could get result see below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xGHcT1l3XJU/SiL2XbgzjLI/AAAAAAAAALs/OnGP9AerV-Y/s1600-h/Picture+19.png"&gt;&lt;img style="cursor: pointer; width: 267px; height: 400px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/SiL2XbgzjLI/AAAAAAAAALs/OnGP9AerV-Y/s400/Picture+19.png" alt="" id="BLOGGER_PHOTO_ID_5342102990397607090" border="0" /&gt;&lt;/a&gt;Image1&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/SiL2Wob9QFI/AAAAAAAAALc/P_nSb0qVuHw/s1600-h/Picture+20.png"&gt;&lt;img style="cursor: pointer; width: 267px; height: 400px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/SiL2Wob9QFI/AAAAAAAAALc/P_nSb0qVuHw/s400/Picture+20.png" alt="" id="BLOGGER_PHOTO_ID_5342102976687063122" border="0" /&gt;&lt;/a&gt;Image2&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xGHcT1l3XJU/SiL2XHiGekI/AAAAAAAAALk/8x8BjNtXduo/s1600-h/Picture+18.png"&gt;&lt;img style="cursor: pointer; width: 265px; height: 400px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/SiL2XHiGekI/AAAAAAAAALk/8x8BjNtXduo/s400/Picture+18.png" alt="" id="BLOGGER_PHOTO_ID_5342102985034332738" border="0" /&gt;&lt;/a&gt;Image1+2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These alpha value are 100/255.&lt;br /&gt;About half pixels are transparent.&lt;br /&gt;But remains aren't, more likely, these pixel are seem to broken.&lt;br /&gt;I wouldn't fix it until the WWDC2009 started, because I can't fix it soon.&lt;br /&gt;And I think I should study another that useful for attend WWDC2009.&lt;br /&gt;I took the statistic about differential of touchMoved method count per 10 seconds.&lt;br /&gt;My algorithm　of the "Nazca(change name from"YubiFude")" uses three CGLayer objects (depend on the situation, sometime 4layers).&lt;br /&gt;Application speed is slowed by number of layers.&lt;br /&gt;I took the statistic about it.&lt;br /&gt;Result is this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xGHcT1l3XJU/SiL6TQs4VRI/AAAAAAAAAL0/LZ5EDNBhh5k/s1600-h/Picture+24.png"&gt;&lt;img style="cursor: pointer; width: 666px; height: 330px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/SiL6TQs4VRI/AAAAAAAAAL0/LZ5EDNBhh5k/s400/Picture+24.png" alt="" id="BLOGGER_PHOTO_ID_5342107316822496530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As a result, application is slowed by increase layer.&lt;br /&gt;It's increase about 20counts per 10seconds.&lt;br /&gt;I'll ask to Apple company member about more good algorithm in WWDC2009.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-5283174876195644355?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/5283174876195644355/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/531.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/5283174876195644355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/5283174876195644355'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/06/531.html' title='5/31'/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/SiL2XbgzjLI/AAAAAAAAALs/OnGP9AerV-Y/s72-c/Picture+19.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-2545469957832823067</id><published>2009-05-31T03:58:00.003+09:00</published><updated>2009-05-31T04:15:16.314+09:00</updated><title type='text'></title><content type='html'>Good morning!&lt;br /&gt;I could study bitmap and prepare for the WWDC2009.&lt;br /&gt;&lt;br /&gt;when I get and change an information of pixel, I used pointer to access the pixel.&lt;br /&gt;information of pixel is 4 components.&lt;br /&gt;but I use 3components, there are red, green, blue.&lt;br /&gt;I didn't know another component.&lt;br /&gt;I studied it.&lt;br /&gt;I accessed the componets and change value(0~255).&lt;br /&gt;this is a result.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xGHcT1l3XJU/SiGDSENVSFI/AAAAAAAAALM/taM5X4SsC1A/s1600-h/Picture+17.png"&gt;&lt;img style="cursor: pointer; width: 210px; height: 313px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/SiGDSENVSFI/AAAAAAAAALM/taM5X4SsC1A/s200/Picture+17.png" alt="" id="BLOGGER_PHOTO_ID_5341694979428665426" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xGHcT1l3XJU/SiGDR6E2XKI/AAAAAAAAALE/uiP10095j40/s1600-h/Picture+16.png"&gt;&lt;img style="cursor: pointer; width: 214px; height: 319px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/SiGDR6E2XKI/AAAAAAAAALE/uiP10095j40/s200/Picture+16.png" alt="" id="BLOGGER_PHOTO_ID_5341694976708730018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;probably, some of pixel data is bloken.&lt;br /&gt;but I don't know it what identity yet.&lt;br /&gt;&lt;br /&gt;Because of I‘m lacking skill of drawing emvironment, I'll study it by reference(quarz2d drawing guide).&lt;br /&gt;I spent plenty of time analysys code.&lt;br /&gt;I have to get knowledge about 2D Drawing.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;****************************************************************&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold; font-style: italic;"&gt;with only 8 days left until the WWDC2009 started!!&lt;/span&gt;&lt;br /&gt;****************************************************************&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-2545469957832823067?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/2545469957832823067/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-could-study-bitmap-and.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/2545469957832823067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/2545469957832823067'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-could-study-bitmap-and.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/SiGDSENVSFI/AAAAAAAAALM/taM5X4SsC1A/s72-c/Picture+17.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-6625450393814442740</id><published>2009-05-30T19:53:00.004+09:00</published><updated>2009-05-30T22:10:36.932+09:00</updated><title type='text'></title><content type='html'>I studied about a bit map at yesterday.&lt;br /&gt;I understood a algorithm about the bitmap.&lt;br /&gt;See code and &lt;span class="midashi"&gt;&lt;span class="searchwordfont"  style="color:#bf0000;"&gt;explanation&lt;/span&gt;&lt;/span&gt; below.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;*****************************************************************************&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//This method is invoked when choose button clicked&lt;/span&gt;&lt;br /&gt;- (void)imagePickerController:(UIImagePickerController*)picker&lt;br /&gt;     didFinishPickingImage:(UIImage*)image&lt;br /&gt;               editingInfo:(NSDictionary*)editingInfo&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//Restore the buttons&lt;/span&gt;&lt;br /&gt; statusButton.hidden = NO;&lt;br /&gt; colorButton.hidden = NO;&lt;br /&gt; fillColorButton.hidden = NO;&lt;br /&gt; doneButton.hidden = NO;&lt;br /&gt; allClearButton.hidden = NO;&lt;br /&gt; layer1ClearButton.hidden = NO;&lt;br /&gt; layer2ClearButton.hidden = NO;&lt;br /&gt; layer3ClearButton.hidden = NO;&lt;br /&gt; saveButton.hidden = NO;&lt;br /&gt; loadButton.hidden = NO;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//Hide an ImagePickerView&lt;/span&gt;&lt;br /&gt; [self dismissModalViewControllerAnimated:YES];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//Create a new UIImage object(originalImage) and substitude originalImage for choose Image. &lt;/span&gt;&lt;br /&gt; UIImage*    originalImage;&lt;br /&gt; originalImage = [editingInfo objectForKey:UIImagePickerControllerOriginalImage];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//Create a new CGSize object(size) and initize it.it size is full screen size.&lt;/span&gt;&lt;br /&gt; CGSize  size = { 320, 480 };&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   //Creates a bitmap-based graphics context and makes it the current context.&lt;/span&gt;&lt;br /&gt; UIGraphicsBeginImageContext(size);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//create a CGRect object for use drawInRect&lt;/span&gt;&lt;br /&gt; CGRect  rect;&lt;br /&gt; rect.origin = CGPointZero;//(0, 0)&lt;br /&gt; rect.size = size;&lt;br /&gt; [originalImage drawInRect:rect];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//Get an image by use UIGraphicsGetImageFromCurrentImageContext method.&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;//this method is Returns an image based on the contents of the current bitmap-based graphics context.&lt;/span&gt;&lt;br /&gt; shrinkedImage = UIGraphicsGetImageFromCurrentImageContext();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  //Removes the current bitmap-based graphics context from the top of the stack.&lt;/span&gt;&lt;br /&gt; UIGraphicsEndImageContext();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//create the CGIMageRef(cgImage) object and institute  cgImage for shrinkedImage.CGImage.&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;//CGImage is UIImage class property.&lt;/span&gt;     CGImageRef  cgImage;&lt;br /&gt; cgImage = shrinkedImage.CGImage;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    // get an information about image &lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;    //__SIZE_TYPE__ is macro and iqual to unsigned int&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;    //typedef __SIZE_TYPE__        __darwin_size_t;    /* sizeof() */&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;    //typedef __darwin_size_t        size_t;&lt;/span&gt;     unsigned int            width;&lt;span style="color: rgb(255, 0, 0);"&gt;//320&lt;/span&gt;&lt;br /&gt; size_t                  height;&lt;span style="color: rgb(255, 0, 0);"&gt;//480&lt;/span&gt;&lt;br /&gt; size_t                  bitsPerComponent;&lt;span style="color: rgb(255, 0, 0);"&gt;//8&lt;/span&gt;&lt;br /&gt; size_t                  bitsPerPixel;&lt;span style="color: rgb(255, 0, 0);"&gt;//32&lt;/span&gt;&lt;br /&gt; size_t                  bytesPerRow;&lt;span style="color: rgb(255, 0, 0);"&gt;//1280 = 4byte*320&lt;/span&gt;&lt;br /&gt; CGColorSpaceRef         colorSpace;&lt;br /&gt; CGBitmapInfo            bitmapInfo;&lt;span style="color: rgb(255, 0, 0);"&gt;//8193&lt;/span&gt;&lt;br /&gt; bool                    shouldInterpolate;&lt;span style="color: rgb(255, 0, 0);"&gt;//true&lt;/span&gt;&lt;br /&gt; CGColorRenderingIntent  intent;&lt;span style="color: rgb(255, 0, 0);"&gt;//14081600&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; width = CGImageGetWidth(cgImage);&lt;br /&gt; height = CGImageGetHeight(cgImage);&lt;br /&gt; bitsPerComponent = CGImageGetBitsPerComponent(cgImage);&lt;br /&gt; bitsPerPixel = CGImageGetBitsPerPixel(cgImage);&lt;br /&gt; bytesPerRow = CGImageGetBytesPerRow(cgImage);&lt;br /&gt; colorSpace = CGImageGetColorSpace(cgImage);&lt;br /&gt; bitmapInfo = CGImageGetBitmapInfo(cgImage);&lt;br /&gt; shouldInterpolate = CGImageGetShouldInterpolate(cgImage);&lt;span style="color: rgb(255, 0, 0);"&gt;//Returns the interpolation setting for a bitmap image.&lt;/span&gt;&lt;br /&gt; intent = CGImageGetRenderingIntent(cgImage);&lt;span style="color: rgb(255, 0, 0);"&gt;//Returns the rendering intent setting for a bitmap image.&lt;/span&gt;&lt;br /&gt;                                     &lt;span style="color: rgb(255, 0, 0);"&gt;        /*kCGRenderingIntentDefault,&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;                                                 kCGRenderingIntentAbsoluteColorimetric,&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;                                                 kCGRenderingIntentRelativeColorimetric,&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;                                                 kCGRenderingIntentPerceptual,&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;                                                 kCGRenderingIntentSaturation*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    // Create a dataProvider object and get a data provider&lt;/span&gt;&lt;br /&gt; CGDataProviderRef   dataProvider;&lt;span style="color: rgb(255, 0, 0);"&gt;// which you  use to move data into and out of Quartz. &lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;                                     // CGDataProviderRef allow you to supply Quartz functions with data.&lt;/span&gt;&lt;br /&gt; dataProvider = CGImageGetDataProvider(cgImage);&lt;span style="color: rgb(255, 0, 0);"&gt;//Returns the data provider for a bitmap image.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;//get an information about bit map datas&lt;/span&gt;&lt;br /&gt; CFDataRef   data;&lt;br /&gt; data = CGDataProviderCopyData(dataProvider);&lt;span style="color: rgb(255, 0, 0);"&gt;//data = 614400byte = 153600(320*480)*4&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;    //Returns a copy of the provider’s data.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    //A reference to an immutable CFData object.&lt;/span&gt;&lt;br /&gt; UInt8*      buffer;&lt;span style="color: rgb(255, 0, 0);"&gt;//buffer is a pointer to UItnt8&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;    //typedef unsigned char UInt8;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; buffer = (UInt8*)CFDataGetBytePtr(data);&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;//Returns a read-only pointer to the bytes of a CFData object.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  // give the effect of change color per pixel&lt;/span&gt;&lt;br /&gt;  NSUInteger  i, j;&lt;br /&gt;  for (j = 0; j &lt; i =" 0;" style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;         // get the pointer information&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             /*address space↓↓↓//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //___________//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //１pixel//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //___________//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //blue          //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //___________//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //green      //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //___________//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //red        //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //___________//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //next pixel //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //___________//&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //blue       //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //.          //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //.          //&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;             //.          */&lt;/span&gt;&lt;br /&gt;          UInt8*  tmp;&lt;br /&gt;          tmp = buffer + j * bytesPerRow + i * 4;&lt;br /&gt;          &lt;span style="color: rgb(255, 0, 0);"&gt;//tmpはbufferのメモリ空間を頭から４バイトずつ移動しながらピクセルに効果を与えている。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;             // RGBの値を取得する&lt;/span&gt;&lt;br /&gt;          UInt8   r, g, b;&lt;br /&gt;          r = *(tmp + 3);//r&lt;br /&gt;          g = *(tmp + 2);//g&lt;br /&gt;          b = *(tmp + 1);//b&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;             // 輝度値を計算する&lt;/span&gt;&lt;br /&gt;          UInt8   y;&lt;br /&gt;          y = (77 * r + 28 * g + 151 * b) / 256;&lt;span style="color: rgb(255, 0, 0);"&gt;//重み付きの平均値&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;            /* この重み付きの平均値 gray は輝度と呼ばれるもので、カラーテレビの信号処理&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             に使われます。輝度は色の明るさを表します。&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             　重みを付けて平均を取るのは、人の視覚は赤・緑・青に対してそれぞれ感度が異&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             なるためで、&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             &lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             　　　　青 &lt; 赤 &lt; 緑&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             &lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             の順に感度が高くなります。最も感度の高い色に重みを持たせています。&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             http://www.asahi-net.or.jp/~uc3k-ymd/Glib32/loadbmp.html*/&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;     &lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             // 輝度の値をRGB値として設定する&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             /*********ネガポジ************&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             *(tmp + 1) = 255-b;//b&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             *(tmp + 2) = 255-g;//g&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;             *(tmp + 3) = 255-r;//r&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;              ***************************/&lt;/span&gt;&lt;br /&gt;      &lt;br /&gt;          *(tmp + 3) = 0;//r    &lt;br /&gt;          *(tmp + 2) = g;//g&lt;br /&gt;          *(tmp + 1) = 0;//b&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt; }&lt;br /&gt;&lt;div style="text-align: center;"&gt;*****************************************************************************&lt;br /&gt;&lt;div style="text-align: left;"&gt;I could get the pixel data of image and various effect to image.&lt;br /&gt;for example gray scale nega&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xGHcT1l3XJU/SiEvrbbJAOI/AAAAAAAAAK8/vMLbTLlFu2E/s1600-h/Picture+20.png"&gt;&lt;img style="cursor: pointer; width: 133px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/SiEvrbbJAOI/AAAAAAAAAK8/vMLbTLlFu2E/s200/Picture+20.png" alt="" id="BLOGGER_PHOTO_ID_5341603056180592866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/SiEvrAjQnOI/AAAAAAAAAK0/smH7pEMMHIU/s1600-h/Picture+19.png"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/SiEvrAjQnOI/AAAAAAAAAK0/smH7pEMMHIU/s200/Picture+19.png" alt="" id="BLOGGER_PHOTO_ID_5341603048966888674" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/SiEvq_Vh4rI/AAAAAAAAAKs/w9XdaeoLGhA/s1600-h/Picture+18.png"&gt;&lt;img style="cursor: pointer; width: 133px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/SiEvq_Vh4rI/AAAAAAAAAKs/w9XdaeoLGhA/s200/Picture+18.png" alt="" id="BLOGGER_PHOTO_ID_5341603048640864946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I couldn't understand some a method.((UInt8*)CFDataGetBytePtr(data);)&lt;br /&gt;I'll understand it.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-6625450393814442740?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/6625450393814442740/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/i-studied-about-bit-map-at-yesterday.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/6625450393814442740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/6625450393814442740'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/i-studied-about-bit-map-at-yesterday.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xGHcT1l3XJU/SiEvrbbJAOI/AAAAAAAAAK8/vMLbTLlFu2E/s72-c/Picture+20.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-5149684505578509795</id><published>2009-05-28T04:31:00.004+09:00</published><updated>2009-05-28T05:22:38.797+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Good morning!&lt;/p&gt;&lt;p&gt;I studied about the bitmap, color coponent and algorithm of my application.&lt;/p&gt;&lt;p&gt;I have problem about my application algorithm.&lt;/p&gt;&lt;p&gt;I use an UIImagePickerController class.&lt;/p&gt;&lt;p&gt;But this class has a few APIs, and it have no API that I want.&lt;/p&gt;&lt;p&gt;I'd like to a get feature that is invoked when cansel button clicked.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/Sh2bcbFTbLI/AAAAAAAAAKk/HOz3u76XbfI/s1600-h/Picture+15.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 206px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/Sh2bcbFTbLI/AAAAAAAAAKk/HOz3u76XbfI/s400/Picture+15.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5340595645739920562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/Sh2bcefjjsI/AAAAAAAAAKc/Kb8V7ijAKNE/s1600-h/Picture+17.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 265px; height: 400px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/Sh2bcefjjsI/AAAAAAAAAKc/Kb8V7ijAKNE/s400/Picture+17.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5340595646655336130" /&gt;&lt;/a&gt;&lt;p&gt;Thus I'll make the new method for myproblem is solved.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Next, about the bitmap, color coponent.&lt;/p&gt;&lt;p&gt;These needs knowledge of Quarts2D. &lt;/p&gt;&lt;p&gt;I got a knowledge of premultiplied alpha value.&lt;/p&gt;&lt;p&gt;Use premultiplied alpha value, so speed up of render.&lt;/p&gt;&lt;p&gt;,,,reference say&lt;/p&gt;&lt;p&gt;"For bitmaps that have an alpha component, whether the color components are already multiplied by the alphavalue. Premultiplied alpha describes a source color whose components are already multiplied by an alpha value. Premultiplying speeds up the rendering of animage bye liminating an extra multiplication operation per color component. For example, inan RGB color space, rendering animage &lt;br /&gt;with premultiplied alpha eliminates three multiplication operations(red times alpha, green times alpha, &lt;br /&gt;and blue times alpha)for each pixel in the image."&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Bitmap has a difficult  problem.&lt;/p&gt;&lt;p&gt;I studied how to change UIImage to bitmap, and change color component of pixel of  bitmap.&lt;/p&gt;&lt;p&gt;Today, I cold get knowledge the ,,,&lt;/p&gt;&lt;p&gt;size_t macro  a unsigned int.&lt;/p&gt;&lt;p&gt;y = (77 * r + 28 * g + 151 * b) / 256;←this code represent a brightness for human.&lt;/p&gt;&lt;p&gt;concept of pointer of C language.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;********************************&lt;/p&gt;&lt;p&gt;I'll study about the bitmap component.&lt;/p&gt;&lt;p&gt;And I'll prepare the attend the technical lab at wwdc2009.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-5149684505578509795?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/5149684505578509795/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-studied-about-bitmap.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/5149684505578509795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/5149684505578509795'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-studied-about-bitmap.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xGHcT1l3XJU/Sh2bcbFTbLI/AAAAAAAAAKk/HOz3u76XbfI/s72-c/Picture+15.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-643328921689034920</id><published>2009-05-27T06:44:00.003+09:00</published><updated>2009-05-27T07:16:47.421+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Good morning!&lt;/p&gt;&lt;p&gt;I studied how to get a pixel data information from a image.&lt;/p&gt;&lt;p&gt;But I couldn't understand most it, because it's difficulty  complication and difficulty.&lt;/p&gt;&lt;p&gt;actually, I don't need this skill. But I need it when I extend my application "YubiFude".&lt;/p&gt;&lt;p&gt;In other words, I can' t extend if I solved it.&lt;/p&gt;&lt;p&gt;I tried solve a this code↓↓↓(included my comment)&lt;/p&gt;&lt;p&gt;"Returns a read-only pointer to the bytes of a CFData object."&lt;/p&gt;&lt;p&gt;I'll confer together&lt;/p&gt;&lt;p align="center"&gt;***********************************************************************************&lt;/p&gt;&lt;p align="left"&gt;- (void)imagePickerController:(UIImagePickerController*)picker &lt;br /&gt;        didFinishPickingImage:(UIImage*)image &lt;br /&gt;                  editingInfo:(NSDictionary*)editingInfo&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    NSLog(@"editingInfo:%@",editingInfo);&lt;br /&gt;    //  UIImagePickerControllerCropRect = NSRect: {{0, 0}, {640, 425}};&lt;br /&gt;   // UIImagePickerControllerOriginalImage = &lt;uiimage:&gt;;&lt;br /&gt;&lt;br /&gt;    statusButton.hidden = NO;&lt;br /&gt;    colorButton.hidden = NO;&lt;br /&gt;    fillColorButton.hidden = NO;&lt;br /&gt;    doneButton.hidden = NO;&lt;br /&gt;    allClearButton.hidden = NO;&lt;br /&gt;    layer1ClearButton.hidden = NO;&lt;br /&gt;    layer2ClearButton.hidden = NO;&lt;br /&gt;    layer3ClearButton.hidden = NO;&lt;br /&gt;    saveButton.hidden = NO;&lt;br /&gt;    loadButton.hidden = NO;&lt;br /&gt;    &lt;br /&gt;    // イメージピッカーを隠す&lt;br /&gt;    [self dismissModalViewControllerAnimated:YES];&lt;br /&gt;    &lt;br /&gt;    // オリジナル画像を取得する&lt;br /&gt;    UIImage*    originalImage;&lt;br /&gt;    originalImage = [editingInfo objectForKey:UIImagePickerControllerOriginalImage];&lt;br /&gt;    &lt;br /&gt;    // グラフィックスコンテキストを作る、小さくすると無理に引き延ばすのでモザイクがかかる&lt;br /&gt;    CGSize  size = { 320, 480 };&lt;br /&gt;    UIGraphicsBeginImageContext(size);&lt;br /&gt;    //Creates a bitmap-based graphics context and makes it the current context.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    // 表示する画像のサイズ&lt;br /&gt;    CGRect  rect;&lt;br /&gt;    rect.origin = CGPointZero;//(0, 0)&lt;br /&gt;    rect.size = size;&lt;br /&gt;    [originalImage drawInRect:rect];&lt;br /&gt;    &lt;br /&gt;    // 描画した画像を取得する&lt;br /&gt;    shrinkedImage = UIGraphicsGetImageFromCurrentImageContext();&lt;br /&gt;    //Returns an image based on the contents of the current bitmap-based graphics context.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    UIGraphicsEndImageContext();&lt;br /&gt;    //Removes the current bitmap-based graphics context from the top of the stack.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    // CGImageを取得する&lt;br /&gt;    CGImageRef  cgImage;&lt;br /&gt;    cgImage = shrinkedImage.CGImage;&lt;br /&gt;    &lt;br /&gt;    // 画像情報を取得する&lt;br /&gt;    //typedef __SIZE_TYPE__        __darwin_size_t;    /* sizeof() */&lt;br /&gt;    //typedef __darwin_size_t        size_t;&lt;br /&gt;    size_t                  width;//320&lt;br /&gt;    size_t                  height;//480&lt;br /&gt;    size_t                  bitsPerComponent;//8&lt;br /&gt;    size_t                  bitsPerPixel;//32&lt;br /&gt;    size_t                  bytesPerRow;//1280 = 4byte*320&lt;br /&gt;    CGColorSpaceRef         colorSpace;&lt;br /&gt;    CGBitmapInfo            bitmapInfo;//8193&lt;br /&gt;    bool                    shouldInterpolate;//true&lt;br /&gt;    CGColorRenderingIntent  intent;//14081600&lt;br /&gt;    width = CGImageGetWidth(cgImage);&lt;br /&gt;    height = CGImageGetHeight(cgImage);&lt;br /&gt;    bitsPerComponent = CGImageGetBitsPerComponent(cgImage);&lt;br /&gt;    bitsPerPixel = CGImageGetBitsPerPixel(cgImage);&lt;br /&gt;    bytesPerRow = CGImageGetBytesPerRow(cgImage);&lt;br /&gt;    colorSpace = CGImageGetColorSpace(cgImage);&lt;br /&gt;    bitmapInfo = CGImageGetBitmapInfo(cgImage);&lt;br /&gt;    shouldInterpolate = CGImageGetShouldInterpolate(cgImage);//Returns the interpolation setting for a bitmap image.&lt;br /&gt;    intent = CGImageGetRenderingIntent(cgImage);//Returns the rendering intent setting for a bitmap image.&lt;br /&gt;                                                /*kCGRenderingIntentDefault,&lt;br /&gt;                                                 kCGRenderingIntentAbsoluteColorimetric,&lt;br /&gt;                                                 kCGRenderingIntentRelativeColorimetric,&lt;br /&gt;                                                 kCGRenderingIntentPerceptual,&lt;br /&gt;                                                 kCGRenderingIntentSaturation*/&lt;br /&gt;    // データプロバイダを取得する&lt;br /&gt;    CGDataProviderRef   dataProvider;// which you  use to move data into and out of Quartz. &lt;br /&gt;                                     // CGDataProviderRef allow you to supply Quartz functions with data.&lt;br /&gt;    dataProvider = CGImageGetDataProvider(cgImage);//Returns the data provider for a bitmap image.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    // ビットマップデータを取得する&lt;br /&gt;    CFDataRef   data;&lt;br /&gt;    //A reference to an immutable CFData object.&lt;br /&gt;    UInt8*      buffer;&lt;br /&gt;    //typedef unsigned char UInt8;&lt;br /&gt;&lt;br /&gt;    data = CGDataProviderCopyData(dataProvider);//data = 614400byte = 153600(320*480)*4&lt;br /&gt;    //Returns a copy of the provider’s data.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    buffer = (UInt8*)CFDataGetBytePtr(data);&lt;br /&gt;    //Returns a read-only pointer to the bytes of a CFData object.&lt;br /&gt;    // ビットマップに効果を与える&lt;br /&gt;     NSUInteger  i, j;&lt;br /&gt;     for (j = 0; j &lt; height; j++)&lt;br /&gt;     {&lt;br /&gt;         for (i = 0; i &lt; width; i++) &lt;br /&gt;         {&lt;br /&gt;             // ピクセルのポインタを取得する&lt;br /&gt;             UInt8*  tmp;&lt;br /&gt;             tmp = buffer + j * bytesPerRow + i * 4;&lt;br /&gt;             //&lt;br /&gt;             //NSLog(@"tmp:%d",tmp);&lt;br /&gt;            // NSLog(@"buffer : %d",buffer);&lt;br /&gt;             //NSLog(@"buffer : %d",&amp;amp;buffer);&lt;br /&gt;&lt;br /&gt;             // RGBの値を取得する&lt;br /&gt;             UInt8   r, g, b;&lt;br /&gt;             r = *(tmp + 3);//b&lt;br /&gt;             g = *(tmp + 2);//g&lt;br /&gt;             b = *(tmp + 1);//r&lt;br /&gt;        //      NSLog(@"\nr:%d\ng;%d\nb:%d",r,g,b);&lt;br /&gt;&lt;br /&gt;     &lt;br /&gt;             // 輝度値を計算する&lt;br /&gt;             UInt8   y;&lt;br /&gt;             y = (77 * r + 28 * g + 151 * b) / 256;//重み付きの平均値&lt;br /&gt;            /* この重み付きの平均値 gray は輝度と呼ばれるもので、カラーテレビの信号処理&lt;br /&gt;             に使われます。輝度は色の明るさを表します。&lt;br /&gt;             　重みを付けて平均を取るのは、人の視覚は赤・緑・青に対してそれぞれ感度が異&lt;br /&gt;             なるためで、&lt;br /&gt;             &lt;br /&gt;             　　　　青 &lt; 赤 &lt; 緑&lt;br /&gt;             &lt;br /&gt;             の順に感度が高くなります。最も感度の高い色に重みを持たせています。&lt;br /&gt;             http://www.asahi-net.or.jp/~uc3k-ymd/Glib32/loadbmp.html*/&lt;br /&gt;     &lt;br /&gt;             // 輝度の値をRGB値として設定する&lt;br /&gt;             *(tmp + 1) = y;//b&lt;br /&gt;             *(tmp + 2) = y;//g&lt;br /&gt;             *(tmp + 3) = y;//r&lt;br /&gt;         }&lt;br /&gt;    }&lt;br /&gt;     &lt;br /&gt;    // 効果を与えたデータを作成する&lt;br /&gt;    CFDataRef   effectedData;&lt;br /&gt;    effectedData = CFDataCreate(NULL, buffer, CFDataGetLength(data));&lt;br /&gt;    &lt;br /&gt;    // 効果を与えたデータプロバイダを作成する&lt;br /&gt;    CGDataProviderRef   effectedDataProvider;&lt;br /&gt;    effectedDataProvider = CGDataProviderCreateWithCFData(effectedData);&lt;br /&gt;    &lt;br /&gt;    // 画像を作成する&lt;br /&gt;    //   UIImage*    effectedImage;&lt;br /&gt;    effectedCgImage = CGImageCreate(&lt;br /&gt;                                    width, height, &lt;br /&gt;                                    bitsPerComponent, bitsPerPixel, bytesPerRow, &lt;br /&gt;                                    colorSpace, bitmapInfo, effectedDataProvider, &lt;br /&gt;                                    NULL, shouldInterpolate, intent);&lt;br /&gt;    //Creates a bitmap image from data supplied by a data provider.&lt;br /&gt;    /*size_t width,&lt;br /&gt;    size_t height,&lt;br /&gt;    size_t bitsPerComponent,&lt;br /&gt;    size_t bitsPerPixel,&lt;br /&gt;    size_t bytesPerRow,&lt;br /&gt;    CGColorSpaceRef colorspace,&lt;br /&gt;    CGBitmapInfo bitmapInfo,&lt;br /&gt;    CGDataProviderRef provider,&lt;br /&gt;    const CGFloat decode[],&lt;br /&gt;    bool shouldInterpolate,&lt;br /&gt;    CGColorRenderingIntent intent&lt;br /&gt;    );*/&lt;br /&gt;    //   effectedImage = [[UIImage alloc] initWithCGImage:effectedCgImage];&lt;br /&gt;    // [effectedImage autorelease];&lt;br /&gt;    &lt;br /&gt;    // 画像を表示する&lt;br /&gt;    // _imageView.image = effectedImage;&lt;br /&gt;&lt;br /&gt;    [PaintingView loadImage];&lt;br /&gt;    // 作成したデータを解放する&lt;br /&gt;    CGImageRelease(effectedCgImage);&lt;br /&gt;    CFRelease(effectedDataProvider);&lt;br /&gt;    CFRelease(effectedData);&lt;br /&gt;    CFRelease(data);&lt;br /&gt;    [[UIApplication sharedApplication] setStatusBarHidden:YES];&lt;br /&gt;&lt;br /&gt;    self.navigationController.navigationBarHidden = YES;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;***********************************************************************************&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;This code is invoked when pushed UIImagePickerController's choose button.&lt;/p&gt;&lt;p align="left"&gt;I could understand theacceptation most of code.But  I didn't understand this code &lt;/p&gt;&lt;p align="left"&gt;    buffer = (UInt8*)CFDataGetBytePtr(data);&lt;/p&gt;&lt;p align="left"&gt;,,,,,,what isCFDataGetBytePtr??&lt;/p&gt;&lt;p align="left"&gt;According to reference,,,&lt;/p&gt;&lt;p align="left"&gt;"Returns a read-only pointer to the bytes of a CFData object."&lt;br /&gt;&lt;br /&gt;I'll talk to my togeher about this code at tomorrow.&lt;/p&gt;&lt;p align="left"&gt;And I don't complete the concept the "pointer".&lt;/p&gt;&lt;p align="left"&gt;I'll talk to teacher about it too.&lt;/p&gt;&lt;p align="left"&gt;I'd like to complete it tommorow.&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;***********************************************************************&lt;/p&gt;&lt;p align="center"&gt;"We have only more 12 days to go before the deadline."&lt;/p&gt;&lt;p align="center"&gt;***********************************************************************&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-643328921689034920?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/643328921689034920/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-studied-how-to-get-pixel.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/643328921689034920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/643328921689034920'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-studied-how-to-get-pixel.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-4812424634011741796</id><published>2009-05-26T04:47:00.003+09:00</published><updated>2009-05-26T05:08:11.494+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Good　morning everyone !&lt;br /&gt;&lt;br /&gt;I fixed and did analysis of the my native application "YubiFude".&lt;br /&gt;&lt;br /&gt;I fixed problem about an algorithm (order of drawing to specified layer).&lt;br /&gt;&lt;br /&gt;I completed it. CGLayer objects are good working now.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I did analysis of code of the "YubiFude" application about save and import a image.&lt;br /&gt;&lt;br /&gt;It's complication for me.&lt;br /&gt;&lt;br /&gt;I don't understand some of this. therefore I'll study it.&lt;br /&gt;&lt;br /&gt;But becouse of I could understand some of this, I post the code with comment.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;*******************************************************************************&lt;/p&gt;&lt;p&gt;//**********************************************************************&lt;br /&gt;//*******************↓↓↓Save Image to library↓↓↓************************&lt;br /&gt;//**********************************************************************&lt;br /&gt;&lt;br /&gt;- (void)saveViewToPhotoLibrary:(id)sender {&lt;br /&gt;    &lt;br /&gt;    CGRect screenRect = [[UIScreen mainScreen] bounds];&lt;br /&gt;    //↑↑↑get the size of window(w:320 h:480)&lt;br /&gt;    UIGraphicsBeginImageContext(screenRect.size);&lt;br /&gt;    //↑↑↑Creates a bitmap-based graphics context and makes it the current context.&lt;br /&gt;    //   The drawing environment is pushed onto the graphics context stack immediately.&lt;br /&gt;    CGContextRef ctx = UIGraphicsGetCurrentContext();&lt;br /&gt;    //Returns the current graphics context.ビットマップコンテキストの収集&lt;br /&gt;    //[[UIColor blackColor] set];&lt;br /&gt;    CGContextFillRect(ctx, screenRect);&lt;br /&gt;    //↑↑↑Paints the area contained within the provided rectangle, using the fill color in the current graphics state.&lt;br /&gt;    &lt;br /&gt;    [self.paintingViewController.view.layer renderInContext:ctx];&lt;br /&gt;    //↑↑↑Renders the receiver and its sublayers into the specified context.&lt;br /&gt;    //UIView class has a layer property.It is a CALayer class object &lt;br /&gt;    &lt;br /&gt;    UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();&lt;br /&gt;    //↑↑↑Returns an image based on the contents of the current bitmap-based graphics context.&lt;br /&gt;    &lt;br /&gt;    UIImageWriteToSavedPhotosAlbum(screenImage, &lt;br /&gt;                                   nil//The object whose selector should be called after the image has been written to the user’s device.&lt;br /&gt;                                   , nil//The selector of the target object to call. This method should be of the form:                        &lt;br /&gt;                                   , nil//An optional pointer to any context-specific data that you want passed to the completion selector.&lt;br /&gt;    );&lt;br /&gt;    //↑↑↑Adds the specified image to the user’s Saved Photos album.&lt;br /&gt;    &lt;br /&gt;    UIGraphicsEndImageContext();    &lt;br /&gt;    //↑↑↑Removes the current bitmap-based graphics context from the top of the stack.&lt;br /&gt;}&lt;br /&gt;//**********************************************************************&lt;br /&gt;//*******************↑↑↑Save Image to library↑↑↑************************&lt;br /&gt;//**********************************************************************&lt;/p&gt;&lt;p&gt;&lt;br /&gt;*******************************************************************************&lt;br /&gt;//↓↓↓pushed a loadButton&lt;br /&gt;- (void)showCameraSheet:(id)sender&lt;br /&gt;{&lt;br /&gt;    statusButton.hidden = YES;&lt;br /&gt;    colorButton.hidden = YES;&lt;br /&gt;    fillColorButton.hidden = YES;&lt;br /&gt;    doneButton.hidden = YES;&lt;br /&gt;    allClearButton.hidden = YES;&lt;br /&gt;    layer1ClearButton.hidden = YES;&lt;br /&gt;    layer2ClearButton.hidden = YES;&lt;br /&gt;    layer3ClearButton.hidden = YES;&lt;br /&gt;    saveButton.hidden = YES;&lt;br /&gt;    loadButton.hidden = YES;&lt;br /&gt;    &lt;br /&gt;    // アクションシートを作る:下から出てくるアラートみたいなやつ&lt;br /&gt;    UIActionSheet*  sheet;&lt;br /&gt;    sheet = [[UIActionSheet alloc] &lt;br /&gt;             initWithTitle:@"Add image to current layer" &lt;br /&gt;             delegate:self &lt;br /&gt;             cancelButtonTitle:nil &lt;br /&gt;             destructiveButtonTitle:nil &lt;br /&gt;             otherButtonTitles:@"Photo Library", @"Saved Photos",@"Cancel" ,nil];&lt;br /&gt;    [sheet autorelease];&lt;br /&gt;    [sheet showInView:self.view];&lt;br /&gt;    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;- (void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex&lt;br /&gt;{&lt;br /&gt;    // ボタンインデックスをチェックする、どのボタン押された？&lt;br /&gt;    if (buttonIndex &gt;= 3) {&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;    UIImagePickerControllerSourceType   sourceType = 0;&lt;br /&gt;    switch (buttonIndex) {&lt;br /&gt;        case 0: {&lt;br /&gt;            sourceType = UIImagePickerControllerSourceTypePhotoLibrary;&lt;br /&gt;            // イメージピッカーを作る&lt;br /&gt;            UIImagePickerController*    imagePicker;&lt;br /&gt;            imagePicker = [[UIImagePickerController alloc] init];&lt;br /&gt;            [imagePicker autorelease];&lt;br /&gt;            imagePicker.sourceType = sourceType;&lt;br /&gt;            imagePicker.allowsImageEditing = YES;&lt;br /&gt;            imagePicker.delegate = self;&lt;br /&gt;            &lt;br /&gt;            // イメージピッカーを表示する、写真選ぶ画面&lt;br /&gt;            //モーダルな◆ユーザが応答しない限り、そのプログラムの他のコントロールは入力を受け付けない&lt;br /&gt;            [self presentModalViewController:imagePicker animated:YES];&lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;        case 1: {&lt;br /&gt;            sourceType = UIImagePickerControllerSourceTypePhotoLibrary;&lt;br /&gt;            // イメージピッカーを作る&lt;br /&gt;            UIImagePickerController*    imagePicker;&lt;br /&gt;            imagePicker = [[UIImagePickerController alloc] init];&lt;br /&gt;            [imagePicker autorelease];&lt;br /&gt;            imagePicker.sourceType = sourceType;&lt;br /&gt;            imagePicker.allowsImageEditing = YES;&lt;br /&gt;            imagePicker.delegate = self;&lt;br /&gt;            &lt;br /&gt;            // イメージピッカーを表示する&lt;br /&gt;            [self presentModalViewController:imagePicker animated:YES];&lt;br /&gt;            &lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;        case 2: {//自作キャンセルボタン、デフォルトだとメソッド追加命令不可能&lt;br /&gt;            statusButton.hidden = NO;&lt;br /&gt;            colorButton.hidden = NO;&lt;br /&gt;            fillColorButton.hidden = NO;&lt;br /&gt;            doneButton.hidden = NO;&lt;br /&gt;            allClearButton.hidden = NO;&lt;br /&gt;            layer1ClearButton.hidden = NO;&lt;br /&gt;            layer2ClearButton.hidden = NO;&lt;br /&gt;            layer3ClearButton.hidden = NO;&lt;br /&gt;            saveButton.hidden = NO;&lt;br /&gt;            loadButton.hidden = NO;&lt;br /&gt;            &lt;br /&gt;            [self dismissModalViewControllerAnimated:YES];&lt;br /&gt;            //ModalViewControllerの除去&lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;            &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    // 使用可能かどうかチェックする(カメラはipodtouchにはないので)&lt;br /&gt;    if (![UIImagePickerController isSourceTypeAvailable:sourceType]) {&lt;br /&gt;        //Returns a Boolean value indicating whether the device supports picking images using the specified source.&lt;br /&gt;        return;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;- (void)imagePickerController:(UIImagePickerController*)picker &lt;br /&gt;        didFinishPickingImage:(UIImage*)image &lt;br /&gt;                  editingInfo:(NSDictionary*)editingInfo&lt;br /&gt;{&lt;br /&gt;    NSLog(@"editingInfo:%@",editingInfo);&lt;br /&gt;    //  UIImagePickerControllerCropRect = NSRect: {{0, 0}, {640, 425}};&lt;br /&gt;   // UIImagePickerControllerOriginalImage = &lt;uiimage:&gt;;&lt;br /&gt;&lt;br /&gt;    statusButton.hidden = NO;&lt;br /&gt;    colorButton.hidden = NO;&lt;br /&gt;    fillColorButton.hidden = NO;&lt;br /&gt;    doneButton.hidden = NO;&lt;br /&gt;    allClearButton.hidden = NO;&lt;br /&gt;    layer1ClearButton.hidden = NO;&lt;br /&gt;    layer2ClearButton.hidden = NO;&lt;br /&gt;    layer3ClearButton.hidden = NO;&lt;br /&gt;    saveButton.hidden = NO;&lt;br /&gt;    loadButton.hidden = NO;&lt;br /&gt;    &lt;br /&gt;    // イメージピッカーを隠す&lt;br /&gt;    [self dismissModalViewControllerAnimated:YES];&lt;br /&gt;    &lt;br /&gt;    // オリジナル画像を取得する&lt;br /&gt;    UIImage*    originalImage;&lt;br /&gt;    originalImage = [editingInfo objectForKey:UIImagePickerControllerOriginalImage];&lt;br /&gt;    &lt;br /&gt;    // グラフィックスコンテキストを作る、小さくすると無理に引き延ばすのでモザイクがかかる&lt;br /&gt;    CGSize  size = { 320, 480 };&lt;br /&gt;    UIGraphicsBeginImageContext(size);&lt;br /&gt;    //Creates a bitmap-based graphics context and makes it the current context.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    // 画像を縮小して描画する&lt;br /&gt;    CGRect  rect;&lt;br /&gt;    rect.origin = CGPointZero;&lt;br /&gt;    rect.size = size;&lt;br /&gt;    [originalImage drawInRect:rect];&lt;br /&gt;    // 描画した画像を取得する&lt;br /&gt;    shrinkedImage = UIGraphicsGetImageFromCurrentImageContext();&lt;br /&gt;    UIGraphicsEndImageContext();&lt;br /&gt;    &lt;br /&gt;    // CGImageを取得する&lt;br /&gt;    CGImageRef  cgImage;&lt;br /&gt;    cgImage = shrinkedImage.CGImage;&lt;br /&gt;    &lt;br /&gt;    // 画像情報を取得する&lt;br /&gt;    size_t                  width;&lt;br /&gt;    size_t                  height;&lt;br /&gt;    size_t                  bitsPerComponent;&lt;br /&gt;    size_t                  bitsPerPixel;&lt;br /&gt;    size_t                  bytesPerRow;&lt;br /&gt;    CGColorSpaceRef         colorSpace;&lt;br /&gt;    CGBitmapInfo            bitmapInfo;&lt;br /&gt;    bool                    shouldInterpolate;&lt;br /&gt;    CGColorRenderingIntent  intent;&lt;br /&gt;    width = CGImageGetWidth(cgImage);&lt;br /&gt;    height = CGImageGetHeight(cgImage);&lt;br /&gt;    bitsPerComponent = CGImageGetBitsPerComponent(cgImage);&lt;br /&gt;    bitsPerPixel = CGImageGetBitsPerPixel(cgImage);&lt;br /&gt;    bytesPerRow = CGImageGetBytesPerRow(cgImage);&lt;br /&gt;    colorSpace = CGImageGetColorSpace(cgImage);&lt;br /&gt;    bitmapInfo = CGImageGetBitmapInfo(cgImage);&lt;br /&gt;    shouldInterpolate = CGImageGetShouldInterpolate(cgImage);//Returns the interpolation setting for a bitmap image.&lt;br /&gt;    intent = CGImageGetRenderingIntent(cgImage);//Returns the rendering intent setting for a bitmap image.&lt;br /&gt;    &lt;br /&gt;    // データプロバイダを取得する&lt;br /&gt;    CGDataProviderRef   dataProvider;&lt;br /&gt;    dataProvider = CGImageGetDataProvider(cgImage);//Returns the data provider for a bitmap image.&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    // ビットマップデータを取得する&lt;br /&gt;    CFDataRef   data;&lt;br /&gt;    UInt8*      buffer;&lt;br /&gt;    data = CGDataProviderCopyData(dataProvider);&lt;br /&gt;    buffer = (UInt8*)CFDataGetBytePtr(data);&lt;br /&gt;    // ビットマップに効果を与える&lt;br /&gt;    /* NSUInteger  i, j;&lt;br /&gt;     for (j = 0; j &lt; height; j++) {&lt;br /&gt;     for (i = 0; i &lt; width; i++) {&lt;br /&gt;     // ピクセルのポインタを取得する&lt;br /&gt;     UInt8*  tmp;&lt;br /&gt;     tmp = buffer + j * bytesPerRow + i * 4;&lt;br /&gt;     &lt;br /&gt;     // RGBの値を取得する&lt;br /&gt;     UInt8   r, g, b;&lt;br /&gt;     r = *(tmp + 3);&lt;br /&gt;     g = *(tmp + 2);&lt;br /&gt;     b = *(tmp + 1);&lt;br /&gt;     &lt;br /&gt;     // 輝度値を計算する&lt;br /&gt;     UInt8   y;&lt;br /&gt;     y = (77 * r + 28 * g + 151 * b) / 256;&lt;br /&gt;     &lt;br /&gt;     // 輝度の値をRGB値として設定する&lt;br /&gt;     *(tmp + 1) = y;&lt;br /&gt;     *(tmp + 2) = y;&lt;br /&gt;     *(tmp + 3) = y;&lt;br /&gt;     }&lt;br /&gt;     }&lt;br /&gt;     */&lt;br /&gt;    // 効果を与えたデータを作成する&lt;br /&gt;    CFDataRef   effectedData;&lt;br /&gt;    effectedData = CFDataCreate(NULL, buffer, CFDataGetLength(data));&lt;br /&gt;    &lt;br /&gt;    // 効果を与えたデータプロバイダを作成する&lt;br /&gt;    CGDataProviderRef   effectedDataProvider;&lt;br /&gt;    effectedDataProvider = CGDataProviderCreateWithCFData(effectedData);&lt;br /&gt;    &lt;br /&gt;    // 画像を作成する&lt;br /&gt;    //   UIImage*    effectedImage;&lt;br /&gt;    effectedCgImage = CGImageCreate(&lt;br /&gt;                                    width, height, &lt;br /&gt;                                    bitsPerComponent, bitsPerPixel, bytesPerRow, &lt;br /&gt;                                    colorSpace, bitmapInfo, effectedDataProvider, &lt;br /&gt;                                    NULL, shouldInterpolate, intent);&lt;br /&gt;    //   effectedImage = [[UIImage alloc] initWithCGImage:effectedCgImage];&lt;br /&gt;    // [effectedImage autorelease];&lt;br /&gt;    &lt;br /&gt;    // 画像を表示する&lt;br /&gt;    // _imageView.image = effectedImage;&lt;br /&gt;&lt;br /&gt;    [PaintingView loadImage];&lt;br /&gt;    // 作成したデータを解放する&lt;br /&gt;    CGImageRelease(effectedCgImage);&lt;br /&gt;    CFRelease(effectedDataProvider);&lt;br /&gt;    CFRelease(effectedData);&lt;br /&gt;    CFRelease(data);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;- (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker&lt;br /&gt;{&lt;br /&gt;    // イメージピッカーを隠す&lt;br /&gt;    [self dismissModalViewControllerAnimated:YES];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;*****************************************************************************&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-4812424634011741796?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/4812424634011741796/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/goodmorning-everyone-i-fixed-and-did.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/4812424634011741796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/4812424634011741796'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/goodmorning-everyone-i-fixed-and-did.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-4458303758803029893</id><published>2009-05-25T07:41:00.005+09:00</published><updated>2009-05-25T07:45:28.557+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Good morning!&lt;/p&gt;&lt;p&gt;My head is tired...,, because I used my brain hard.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I could load a image of the library to CGLayer object.&lt;/p&gt;&lt;p align="center"&gt;********************************************************************&lt;/p&gt;&lt;p&gt;First, load the  image of the  library to UIImage object.&lt;/p&gt;&lt;p&gt;Second, import theUIImage object to CGImageRef type object.&lt;/p&gt;&lt;p&gt;It uses a "CGImage" property of UIImage. ↓↓↓↓↓↓&lt;/p&gt;&lt;p&gt;    CGImageref  = UIImage.CGImage;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Third,  import the CGImageref object image toCGContextRef type object. &lt;/p&gt;&lt;p&gt;It uses this function↓↓↓↓&lt;/p&gt;&lt;p&gt;     CGContextRef = CGLayerGetContext(CGLayerRef);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    CGContextDrawImage(CGContextRef, bounds, CGImageRef);&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;********************************************************************&lt;/p&gt;&lt;p align="left"&gt;It is Completed the import image of library.&lt;/p&gt;&lt;p align="left"&gt;But it has a poblem.(↓↓↓iPhone OS programming Guide)&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShnN7GNQB1I/AAAAAAAAAKU/OnoOT45asX8/s1600-h/Picture+14.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 122px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShnN7GNQB1I/AAAAAAAAAKU/OnoOT45asX8/s400/Picture+14.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339525248386598738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p align="left"&gt;I fixed it by refered to &lt;a href="http://d.hatena.ne.jp/It_lives_vainly/20081111"&gt;this.&lt;/a&gt;&lt;/p&gt;&lt;p align="left"&gt;I coomlete the most of  the "YubiFude"application.&lt;/p&gt;&lt;p align="left"&gt;But I don't understand some feature and algorithm of  the "YubiFide" application (ex. Import the image of library ).&lt;/p&gt;&lt;p align="left"&gt;Therefore, I'll study code of  the "YubiFude" application.&lt;/p&gt;&lt;p align="left"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShnNN0xfsSI/AAAAAAAAAJs/XAHVqPjUOR4/s1600-h/Screenshot+2009.05.25+07.32.19.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShnNN0xfsSI/AAAAAAAAAJs/XAHVqPjUOR4/s200/Screenshot+2009.05.25+07.32.19.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339524470612668706" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShnNN57UHDI/AAAAAAAAAJk/gMvrTZpHyJE/s1600-h/Screenshot+2009.05.25+07.32.21.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShnNN57UHDI/AAAAAAAAAJk/gMvrTZpHyJE/s200/Screenshot+2009.05.25+07.32.21.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339524471996030002" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShnNNqQ-AAI/AAAAAAAAAJc/tkbvVMBwo5E/s1600-h/Screenshot+2009.05.25+07.32.32.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShnNNqQ-AAI/AAAAAAAAAJc/tkbvVMBwo5E/s200/Screenshot+2009.05.25+07.32.32.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339524467791888386" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShnNNIULd5I/AAAAAAAAAJU/c5t9aPQ9X5E/s1600-h/Screenshot+2009.05.25+07.35.24.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShnNNIULd5I/AAAAAAAAAJU/c5t9aPQ9X5E/s200/Screenshot+2009.05.25+07.35.24.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339524458678548370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-4458303758803029893?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/4458303758803029893/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-my-head-is-tired.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/4458303758803029893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/4458303758803029893'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-my-head-is-tired.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShnN7GNQB1I/AAAAAAAAAKU/OnoOT45asX8/s72-c/Picture+14.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-8091669406930761228</id><published>2009-05-24T05:45:00.006+09:00</published><updated>2009-05-24T06:11:22.669+09:00</updated><title type='text'></title><content type='html'>Good morning!&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I studied the "YubiFude" application.&lt;br /&gt;&lt;br /&gt;I could save the image of PaintingView(UIView class)&lt;br /&gt;&lt;br /&gt;and imported image in the photo liblary to the PaintingView(but not complete)&lt;br /&gt;&lt;br /&gt; and changed  the value of color and fill color (0.0~1.0→0~255).&lt;br /&gt;&lt;br /&gt;I save  image of the PaintingView by reffered to this.&lt;br /&gt;&lt;br /&gt; ******code ******&lt;br /&gt;&lt;br /&gt;- (void)saveViewToPhotoLibrary:(id)sender {&lt;br /&gt; &lt;br /&gt;  CGRect screenRect = [[UIScreen mainScreen] bounds];&lt;br /&gt; //↑↑↑get the size of window:&lt;br /&gt;  UIGraphicsBeginImageContext(screenRect.size);&lt;br /&gt; //↑↑↑Creates a bitmap-based graphics context and makes it the current context.&lt;br /&gt; &lt;br /&gt;  CGContextRef ctx = UIGraphicsGetCurrentContext();&lt;br /&gt;&lt;br /&gt;  CGContextFillRect(ctx, screenRect);&lt;br /&gt; //↑↑↑Paints the area contained within the provided rectangle, using the fill color in the current graphics state.&lt;br /&gt; &lt;br /&gt;  [self.paintingViewController.view.layer renderInContext:ctx];&lt;br /&gt; //↑↑↑Renders the receiver and its sublayers into the specified context.&lt;br /&gt; //UIView class has a layer property.It is a CALayer class object  &lt;br /&gt;    &lt;br /&gt;  UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();&lt;br /&gt; //↑↑↑Returns an image based on the contents of the current bitmap-based graphics context.&lt;br /&gt; &lt;br /&gt;  UIImageWriteToSavedPhotosAlbum(screenImage, nil, nil, nil);&lt;br /&gt; //↑↑↑Adds the specified image to the user’s Saved Photos album.&lt;br /&gt; &lt;br /&gt;  UIGraphicsEndImageContext();  &lt;br /&gt; //↑↑↑Removes the current bitmap-based graphics context from the top of the stack.&lt;br /&gt;}&lt;br /&gt;***************&lt;br /&gt;&lt;br /&gt;Therefore, I could do it.&lt;br /&gt;&lt;br /&gt;I could import image in the photo liblary to the PaintingView.&lt;br /&gt;&lt;br /&gt;But It's not complete yet.&lt;br /&gt;&lt;br /&gt;It is  difficulty problem here. ,,, layer problem,,,?&lt;br /&gt;&lt;br /&gt;I don't know it well.&lt;br /&gt;&lt;br /&gt;Therefore,  I'll understand it at tomorrow.&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/Shhk3yZGJsI/AAAAAAAAAG8/KReawSAhoLQ/s200/Screenshot+2009.05.24+05.37.45.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339128267830339266" /&gt; &lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/Shhk3waG_uI/AAAAAAAAAHE/48THFzd5X58/s200/Screenshot+2009.05.24+05.38.01.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339128267297717986" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/Shhk3vtydxI/AAAAAAAAAG0/s0UnrNIJgyA/s200/Screenshot+2009.05.24+05.37.48.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339128267111823122" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShhlA4bBu3I/AAAAAAAAAHU/b74pCY1Ad3k/s200/Screenshot+2009.05.24+05.38.30.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339128424067873650" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShhlAshmcNI/AAAAAAAAAHM/q74WVTV0qyc/s200/Screenshot+2009.05.24+05.38.35.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339128420874219730" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/Shhl7yik8II/AAAAAAAAAHk/7BZaLgsJ3eg/s200/Screenshot+2009.05.24+06.08.21.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339129436101210242" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/Shhk3eYg_FI/AAAAAAAAAGk/khqdjxBAjIQ/s200/Screenshot+2009.05.24+05.34.12.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5339128262459194450" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-8091669406930761228?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/8091669406930761228/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-studied-yubifude.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8091669406930761228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8091669406930761228'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-studied-yubifude.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xGHcT1l3XJU/Shhk3yZGJsI/AAAAAAAAAG8/KReawSAhoLQ/s72-c/Screenshot+2009.05.24+05.37.45.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-1069410338618936505</id><published>2009-05-23T04:06:00.013+09:00</published><updated>2009-05-23T04:55:13.222+09:00</updated><title type='text'></title><content type='html'>Good morning!&lt;br /&gt;&lt;br /&gt;I  made a presentation about my pursuit (main of pursuit is development of the "YubiFude" application) today, because Apple company members came to 2132 room.&lt;br /&gt;&lt;br /&gt; I developed the "YubiFude" application today.&lt;br /&gt;&lt;br /&gt;Contents of developed the it↓↓↓&lt;br /&gt;&lt;br /&gt;*I complete the feature of zoom in.&lt;br /&gt;&lt;br /&gt;*I hid the task bar and I could use the wide screen for drawing.&lt;br /&gt;&lt;br /&gt;*I added the animation of UISlider. It's invoked when color button is pushed.&lt;br /&gt;&lt;br /&gt;*I almost complete the design(GUI) of "YubiFude".&lt;br /&gt;&lt;br /&gt;Zoom in feature is used these code↓↓↓&lt;br /&gt;&lt;br /&gt;******************************************************************&lt;br /&gt;&lt;br /&gt;  CGAffineTransform translate = CGAffineTransformMake(2.0, 0.0, 0.0, 2.0, 160-location.x, 240-location.y); &lt;br /&gt;  [self setTransform:translate];&lt;br /&gt;&lt;br /&gt;******************************************************************&lt;br /&gt;&lt;br /&gt;UIView has a property "translate". It can use various translation of the UIView.&lt;br /&gt;&lt;br /&gt;CGAffineTransformMake function is a translate the UIView object by 6 arguments.&lt;br /&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShcCQWQeTxI/AAAAAAAAAGU/vAPOreXU-eY/s200/Screenshot+2009.05.23+03.58.23.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338738363146850066" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShcCQTdaalI/AAAAAAAAAGM/mL8lTGgH3xM/s200/Screenshot+2009.05.23+03.58.36.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338738362395814482" /&gt;&lt;br /&gt;&lt;br /&gt;Zoom feature was completed. but I'd like to learn "Affine transform".&lt;br /&gt;&lt;br /&gt;I think complete the "Quartz2D" by complete the "Affine transform"&lt;br /&gt;&lt;br /&gt;I hid the task bar by added contents of "Info.plist" .&lt;br /&gt;&lt;br /&gt;*place of blue row.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 118px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShcDAf_dyII/AAAAAAAAAGc/0C7WMbPa5rQ/s400/Picture+11.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338739190393587842" /&gt;&lt;br /&gt;When I hid the task bar, I got the error of iPhone simulator.&lt;br /&gt;&lt;br /&gt;I can't draw to space of task bar was existed in iPhone simulator.&lt;br /&gt;&lt;br /&gt;but I can it in device.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShcCQEiK8uI/AAAAAAAAAGE/vLqeMCAEbew/s200/Picture+10.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338738358389240546" /&gt;←in simulator&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShcCQWQeTxI/AAAAAAAAAGU/vAPOreXU-eY/s200/Screenshot+2009.05.23+03.58.23.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338738363146850066" /&gt;←in device&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;I added the animation to the UISlider. &lt;br /&gt;&lt;br /&gt;Probably, you can not understand it by the screen shot image.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I almost complete the design(GUI) of "YubiFude".&lt;/p&gt;I change the GUI of "YubiFude". It's includ the UISlider animation.&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShcATkf9PuI/AAAAAAAAAF0/pm0dkftk20k/s200/Screenshot+2009.05.23+04.43.27.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338736219486240482" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-1069410338618936505?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/1069410338618936505/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-made-presentation-about.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/1069410338618936505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/1069410338618936505'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-made-presentation-about.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/ShcCQWQeTxI/AAAAAAAAAGU/vAPOreXU-eY/s72-c/Screenshot+2009.05.23+03.58.23.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-8339371058088310952</id><published>2009-05-22T03:27:00.003+09:00</published><updated>2009-05-22T03:36:33.595+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Good morning!?&lt;br /&gt;&lt;br /&gt;Today's contents&lt;br /&gt;&lt;br /&gt;* I developed the "YubiFude" application.&lt;br /&gt;&lt;br /&gt;* I prepared the my presentation.&lt;br /&gt;&lt;br /&gt;I added a feature to "YubiFude" application.&lt;br /&gt;&lt;br /&gt;It's zoom up view. &lt;br /&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 132px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShWfHob32iI/AAAAAAAAAE0/WrpEQWOakAs/s200/Picture+9.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338347886779816482" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 132px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShWfHYGB6KI/AAAAAAAAAEs/NGorT3qu8fg/s200/Picture+4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338347882393233570" /&gt;&lt;br /&gt;&lt;br /&gt;I used a function   "self.transform = CGAffineTransformMakeScale(3.0, 3.0);" for I added feature.&lt;br /&gt;&lt;br /&gt;But It's not completed.&lt;br /&gt;&lt;br /&gt;I couldn't control a clipped placement.&lt;br /&gt;&lt;br /&gt;I'll fix it tomorrow.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I prepare the my presentation because apple company member comes MacRoom and I have to&lt;br /&gt;presentation tomorrow.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-8339371058088310952?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/8339371058088310952/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-todays-contents-i.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8339371058088310952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8339371058088310952'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-todays-contents-i.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/ShWfHob32iI/AAAAAAAAAE0/WrpEQWOakAs/s72-c/Picture+9.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-2197877032643477567</id><published>2009-05-21T04:55:00.005+09:00</published><updated>2009-05-21T05:32:32.721+09:00</updated><title type='text'></title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;Good morning!&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;I solved yesterday's problem today.&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;Yesterday's problem is I can hide the 4 buttons but 4 buttons not.&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;I  declared the UIButton object above the @Interface in file(RootViewController:UIViewController).&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;I declared it below the @Interface in file until yesterday.&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;I could use those objects in other class(PaintingViewController:UIViewController).&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;I think most of the "YubiFude" application was completed.&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;I'll study new feature of iPhoneOS3.0 until WWDC2009 started.&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓I solved problem↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ffffff;"&gt; &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShRod3d__PI/AAAAAAAAAD0/DEaarc8ld58/s200/Screenshot+2009.05.21+04.54.28.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338006320656153842" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShRoiDm3ckI/AAAAAAAAAD8/scXTZ2Qs6Zc/s200/Screenshot+2009.05.21+04.54.26.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5338006392634044994" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-2197877032643477567?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/2197877032643477567/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-solved-yesterdays.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/2197877032643477567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/2197877032643477567'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-solved-yesterdays.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/ShRod3d__PI/AAAAAAAAAD0/DEaarc8ld58/s72-c/Screenshot+2009.05.21+04.54.28.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-3537824598712150734</id><published>2009-05-20T04:44:00.002+09:00</published><updated>2009-05-20T05:23:35.984+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Good morning!&lt;br /&gt;&lt;br /&gt;I developed the "YubiFude" application and I watched the video about the iPhoneOS3.0.&lt;br /&gt;&lt;br /&gt;Main contents of this video is API of new feature.&lt;br /&gt;&lt;br /&gt;So all contents are Englich as well as WWDC sessions, I think it's nice.&lt;br /&gt;&lt;br /&gt;I developed about the "YubiFude" GUI because I'll attend the lab session "iPhone Interface Design Consulting Lab".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I added effect. &lt;br /&gt;&lt;br /&gt;I think  delete the buttons on drawing screen better than it remaining.&lt;br /&gt;&lt;br /&gt;I added the feature is removing and restoring the 4 buttons by one tap.&lt;br /&gt;&lt;br /&gt;So, It's became the wide the screen.&lt;br /&gt;&lt;br /&gt;But I couldn't invoke same feature to other 4 buttons.&lt;br /&gt;&lt;br /&gt;It belong to  other class's object.&lt;br /&gt;&lt;br /&gt;I used "Property" and "synthesize" and "import ".&lt;br /&gt;&lt;br /&gt;But I couldn't the value of buttons.&lt;br /&gt;&lt;br /&gt;I'll solve it tomorrow.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I couldon't get fastresponce of drawing yesterday but faster then yesterday at today.&lt;br /&gt;&lt;br /&gt;I reduce the source code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;↓↓↓↓↓↓↓↓↓↓↓↓↓↓Screen shot of "YubiFude" ↓↓↓↓↓↓↓↓↓↓↓↓↓↓&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShMN8P9uJBI/AAAAAAAAADc/qSss7PpGxc4/s1600-h/Screenshot+2009.05.20+04.46.36.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShMN8P9uJBI/AAAAAAAAADc/qSss7PpGxc4/s200/Screenshot+2009.05.20+04.46.36.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625312092890130" /&gt;&lt;/a&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShMN8ONv8TI/AAAAAAAAADk/fTy5HOg6fY4/s200/Screenshot+2009.05.20+04.46.08.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625311623246130" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShMN72MqVUI/AAAAAAAAADU/L4T0aPljg_I/s200/Screenshot+2009.05.20+04.46.05.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625305176233282" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShMN15IKFCI/AAAAAAAAADM/0pFTcB4l7-Y/s200/Screenshot+2009.05.20+04.46.38.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625202883433506" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShMN1dZMZAI/AAAAAAAAADE/txphCbPzFiI/s200/Screenshot+2009.05.20+04.46.42.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625195438695426" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShMN1EzcQ6I/AAAAAAAAAC8/WHVsFylPvNw/s1600-h/Screenshot+2009.05.20+04.47.06.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShMN1EzcQ6I/AAAAAAAAAC8/WHVsFylPvNw/s200/Screenshot+2009.05.20+04.47.06.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625188837901218" /&gt;&lt;/a&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShMN0wOMVjI/AAAAAAAAAC0/QcEUJyfwxHI/s200/Screenshot+2009.05.20+04.47.15.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625183312959026" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShMN0gwuhII/AAAAAAAAACs/ZHjau1R79nI/s200/Screenshot+2009.05.20+04.49.56.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337625179162838146" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-3537824598712150734?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/3537824598712150734/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-developed-yubifude.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3537824598712150734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3537824598712150734'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-i-developed-yubifude.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShMN8P9uJBI/AAAAAAAAADc/qSss7PpGxc4/s72-c/Screenshot+2009.05.20+04.46.36.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-7700996645564441074</id><published>2009-05-19T08:35:00.008+09:00</published><updated>2009-05-19T09:02:54.857+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShHzTUd4J0I/AAAAAAAAACM/bl9SAQZmgbE/s1600-h/Screenshot+2009.05.19+08.34.32.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShHzTUd4J0I/AAAAAAAAACM/bl9SAQZmgbE/s200/Screenshot+2009.05.19+08.34.32.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337314546647836482" /&gt;Good morning everyone!&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I finished developing the "YubiFude" application.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;←This image is screen shot of  "YubiHude" application.&lt;/p&gt;&lt;p&gt;I finished it, but  I 'm not completed yet, because&lt;/p&gt;&lt;p&gt;It is very slowly responce.&lt;/p&gt;&lt;p&gt;Probably, source code of  "YubiFude" is heavy.&lt;/p&gt;&lt;p&gt;It has many objexcts.&lt;/p&gt;&lt;p&gt;↓&lt;/p&gt;&lt;p&gt;*****************************************************&lt;/p&gt;&lt;p&gt;make UITextfield *about15&lt;/p&gt;&lt;p&gt;UIImage *newImage = [[UIImage imageNamed:@"whiteButton.png"] stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0];&lt;br /&gt;&lt;br /&gt; title =[[UITextField alloc] initWithFrame:s_label_title];&lt;br /&gt; NSString *tit = [[NSString alloc]initWithString:@"Status"];&lt;br /&gt; title.text = tit;&lt;br /&gt; title.font = [UIFont fontWithName:@"Georgia-Bold" size:50.0]; &lt;br /&gt; title.borderStyle =  UITextBorderStyleBezel;&lt;br /&gt; title.enabled = NO;&lt;br /&gt; title.textAlignment = UITextAlignmentCenter;&lt;br /&gt; title.backgroundColor = [UIColor colorWithRed:0.8 green:0.8 blue:0.8 alpha:1.0];&lt;br /&gt; &lt;br /&gt; [tit release]; &lt;br /&gt;&lt;br /&gt;make UIButton*about50&lt;br /&gt;&lt;/p&gt;&lt;p&gt;sizeM = [UIButton buttonWithType:UIButtonTypeRoundedRect];&lt;br /&gt; [sizeM setFrame:CGRectMake(85.0f,105.0f, 70.0f, 40.0f)];&lt;br /&gt; [sizeM addTarget:self action:@selector(Little:) forControlEvents:UIControlEventTouchUpInside];&lt;br /&gt; [sizeM setBackgroundImage:newImage forState:UIControlStateNormal];&lt;br /&gt; [sizeM setTitle:@"&lt;" forState:UIControlStateNormal];&lt;br /&gt; &lt;br /&gt; [self.view addSubview:sizeM];&lt;/p&gt;&lt;p&gt;make UISlider *7&lt;/p&gt;&lt;p&gt; slider_Size = [[UISlider alloc] initWithFrame:CGRectMake(10, 150, 300, 20)];&lt;br /&gt; [slider_Size addTarget:self action:@selector(Slider:) forControlEvents:UIControlEventValueChanged];&lt;br /&gt; slider_Size.backgroundColor = [UIColor clearColor]; &lt;br /&gt; UIImage *LeftTrack_Size = [[UIImage imageNamed:@"slide_S.png"]&lt;br /&gt;       stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];&lt;br /&gt; UIImage *RightTrack_Size = [[UIImage imageNamed:@"slide.png"]&lt;br /&gt;        stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];&lt;br /&gt; [slider_Size setThumbImage: [UIImage imageNamed:@"slider_Ball_S.png"] forState:UIControlStateNormal];&lt;br /&gt; [slider_Size setMinimumTrackImage:LeftTrack_Size forState:UIControlStateNormal];&lt;br /&gt; [slider_Size setMaximumTrackImage:RightTrack_Size forState:UIControlStateNormal];&lt;br /&gt; slider_Size.minimumValue = 0.0;&lt;br /&gt; slider_Size.maximumValue = 500.0;&lt;br /&gt; slider_Size.continuous = YES;&lt;br /&gt; slider_Size.value = 5.0;&lt;br /&gt; &lt;br /&gt; [self.view addSubview:slider_Size];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_xGHcT1l3XJU/ShH0j1c27oI/AAAAAAAAACU/mEfw7CHjMvo/s200/Screenshot+2009.05.19+08.34.43.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337315929891466882" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_xGHcT1l3XJU/ShH0u7L3xVI/AAAAAAAAACc/rH9SBrSx6rQ/s200/Screenshot+2009.05.19+08.34.50.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337316120409392466" /&gt;&lt;img style="cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_xGHcT1l3XJU/ShH053yhNcI/AAAAAAAAACk/bZk3yoH5Fr4/s200/Screenshot+2009.05.19+08.34.38.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5337316308476310978" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-7700996645564441074?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/7700996645564441074/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-everyone-i-finished.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/7700996645564441074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/7700996645564441074'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/good-morning-everyone-i-finished.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xGHcT1l3XJU/ShHzTUd4J0I/AAAAAAAAACM/bl9SAQZmgbE/s72-c/Screenshot+2009.05.19+08.34.32.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-3961742239050254599</id><published>2009-05-18T04:24:00.003+09:00</published><updated>2009-05-18T04:24:57.474+09:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShBkfcAn5uI/AAAAAAAAAB0/6c3ZPf0Fm1A/s1600-h/Screenshot+2009.05.18+04.12.04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://3.bp.blogspot.com/_xGHcT1l3XJU/ShBkfcAn5uI/AAAAAAAAAB0/6c3ZPf0Fm1A/s320/Screenshot+2009.05.18+04.12.04.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5336876049691567842" /&gt;&lt;/a&gt;&lt;br /&gt;Contents of today's studying is &lt;br /&gt;&lt;br /&gt;- Installed a iPhoneOS3.0.&lt;br /&gt;&lt;br /&gt;- Developed a "YubiFude"&lt;br /&gt;&lt;br /&gt; I installed the iPhone OS very easily. I mistook I choose the iPhoneOS3.0 install file at yesterday.&lt;br /&gt;&lt;br /&gt;The iPodtouch rented by my collage is no problem at now.&lt;br /&gt;&lt;br /&gt;I developed the "YubiFude" at today. I finished make the UIViewController class's sub class (RootViewController, StatusViewController, ColorViewController, FillColorViewController, and PaintingViewController) and UIView class's subclass(PaintingView). PaintingView have the feature of the drawing.&lt;br /&gt;&lt;br /&gt;*Screen shot "YubiFude" in my device. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'll complete the "YubiFude" until May 22.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-3961742239050254599?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/3961742239050254599/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/contents-of-todays-studying-is.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3961742239050254599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3961742239050254599'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/contents-of-todays-studying-is.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xGHcT1l3XJU/ShBkfcAn5uI/AAAAAAAAAB0/6c3ZPf0Fm1A/s72-c/Screenshot+2009.05.18+04.12.04.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-8409092176556095159</id><published>2009-05-17T05:23:00.003+09:00</published><updated>2009-05-17T05:48:38.337+09:00</updated><title type='text'></title><content type='html'>&lt;p&gt;I tried install an iPhone OS3.0 to iPodtouch. but I couldn't. &lt;br /&gt;&lt;br /&gt;I used the iTune and Organizer for I install the iPhoneOS3.0. The iTunes say  "The iPod"xxxxxx" could not be updated because the firmware file is not compatible". The Orginezer was not selected the iPhoneOS3.0.&lt;br /&gt;&lt;br /&gt;Because My acquaintance installed the iPhoneOS3.0, I'll learn about how to install iPhoneOS3.0 by him.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I restarted develop the my application "YubiFude", because I'll attend lab sessions "Quartz 2D Lab" in WWDC2009 . I 'll master understanding and accomplish "YubiFude" before WWDC2009 started.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Today, I started develop "YubiFude" without a Interface Builder.  It's do fine. Next, I'll finish the developing before tomorrow.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-8409092176556095159?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/8409092176556095159/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/i-tried-install-iphone-os3.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8409092176556095159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/8409092176556095159'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/i-tried-install-iphone-os3.html' title=''/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486004506574212190.post-3004885916613511320</id><published>2009-05-16T02:11:00.002+09:00</published><updated>2009-05-16T02:42:49.023+09:00</updated><title type='text'>Hello</title><content type='html'>&lt;p&gt;I attended the WWDC2008 in last year and it was a wonderful memory.&lt;br /&gt;&lt;br /&gt;I'll attend the WWDC2009. I have been studying and developing the iPhone and  iPodtouch application since attended the WWDC2008.&lt;br /&gt;I developing a native application "YubiHude". This application is used skill of Quartz2D. I'll bring it and show it to apple engineer in labs for get advices from them. &lt;br /&gt;&lt;br /&gt;I get the skill of development by WWDC2009 sessions(Advanced Debugging and Performance Analysis, Optimizing Performance on iPhone,User Interface Design for iPhone Apps, iPhone Performance Optimization with Instruments ,,,), WWDC2009 labs(Quartz 2D Lab, iPhone Interface Design Consulting Lab,,,).&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2486004506574212190-3004885916613511320?l=kazuki-k0330n2004.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kazuki-k0330n2004.blogspot.com/feeds/3004885916613511320/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/hello.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3004885916613511320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486004506574212190/posts/default/3004885916613511320'/><link rel='alternate' type='text/html' href='http://kazuki-k0330n2004.blogspot.com/2009/05/hello.html' title='Hello'/><author><name>kazuki</name><uri>http://www.blogger.com/profile/05802104429887346361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_xGHcT1l3XJU/ShlnYLNgSCI/AAAAAAAAAHs/tDazSaDkjRM/S220/Picture+13.png'/></author><thr:total>0</thr:total></entry></feed>
