JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java ME、Google Android 平台與 JavaCard 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 [問題]關於圖片的放大縮小
timman



發文: 0
積分: 0
於 2005-01-06 09:19 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
請問我有一張圖..
因為對圖的處理不是很懂
我要如何對這張圖作放大縮小的處理呢??
希望各位大大可以幫忙告知ㄧ下
希望有 code 或 網路資源 ^^""
謝謝


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
moliwang

用嘴巴打嘴炮比用鍵盤打嘴炮要來的務實

版主

發文: 1215
積分: 6
於 2005-01-06 09:31 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
timman wrote:
請問我有一張圖..
因為對圖的處理不是很懂
我要如何對這張圖作放大縮小的處理呢??
希望各位大大可以幫忙告知ㄧ下
希望有 code 或 網路資源 ^^""
謝謝


沒有標準的API可以做到,
要看看有沒有人寫好library.
至於code,找數位影像處理的教科書,就可以找到方法.


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
gods





發文: 17
積分: 0
於 2005-01-06 09:34 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
很陽春的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public Image scaleImage(Image src, int distW, int distH)
{
  int srcW = src.getWidth();
  int srcH = src.getHeight();
 
  // Scale Width
  Image temp = Image.createImage(distW, srcH);
  Graphics g = temp.getGraphics();
 
  int delta = (srcW << 10) / distW;
  int pos = 0;
 
  for(int i = 0; i < distW; i++)
  {
    g.setClip(i, 0, 1, srcH);
    g.drawImage(src, i - (pos >> 10), 0, Graphics.LEFT | Graphics.TOP);
    pos += delta;
  }
 
  // Scale Height
  Image dist = Image.createImage(distW, distH);
  g = dist.getGraphics();
 
  delta = (srcH << 10) / distH;
  pos = 0;
  for(int i = 0; i < distH; i++)
  {
    g.setClip(0, i, distW, 1);
    g.drawImage(temp, 0, i - (pos >> 10), Graphics.LEFT | Graphics.TOP);
    pos += delta;
  }
 
  g = null;
  temp = null;
  System.gc();
 
  return dist;
}


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
timman



發文: 0
積分: 0
於 2005-01-06 09:47 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
謝謝兩位大大提供的訊息..
小弟會試著去做看看..
希望有更多資訊的大大可以繼續幫忙..
謝謝


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
atticcat

There is no cookie



發文: 702
積分: 4
於 2005-02-01 10:24 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我的也很簡單...
----
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    static public Image resizeIamge(Image src, int w, int h) {
        int srcw = src.getWidth();
        int srch = src.getHeight();
        int argb[] = new int [srcw*srch];
        
        src.getRGB(argb,0,srcw,0,0,srcw,srch);
 
        argb = nearestNeighbor(srcw,srch,argb,w,h);
        
        Image img = Image.createRGBImage(argb,w,h,true);
        
        return img;
    }
    
    static public int[] nearestNeighbor(int srcW,int srcH,int[] src,int dstW, int dstH) {
 
        //bc there is no float in cldc 1.0, so , I use factor x and y to maintain calcualtion correct.
        int factorx  = 1000;
        int factory = 1000;
        
        int sx = 0; 
        int sy = 0;
        int stepx =  srcW * factorx/ dstW;
        int stepy =  srcH * factory/ dstH;
 
        int [] dest = new int[dstW*dstH];
 
        int color;
        int index;
        for (int y = 0; y < dstH; y++) {
            sx = 0;
            for (int x = 0; x < dstW; x++) {
                
                index = ((int)(sy/factory))*srcW + (int)(sx/factorx);
                if(index>=src.length) index = src.length-1;
                color = src[index];
                index = y*dstW+x;
                dest[index] = color;
                
                sx += stepx;
            }
            sy += stepy;
        }
        return dest;
    }

----


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:atticcat]
fish1217

一步一腳印



發文: 696
積分: 6
於 2005-02-01 15:57 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
請問有沒有辦法抓取圖片中的某一塊區域 Question
是否提供這個演算法叫什麼名字或範例程式
謝謝


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:fish1217]
atticcat

There is no cookie



發文: 702
積分: 4
於 2005-02-01 17:17 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
fish1217 wrote:
請問有沒有辦法抓取圖片中的某一塊區域 Question
是否提供這個演算法叫什麼名字或範例程式
謝謝


這個我沒實際用過...
不過大概用
1.Image.getRGB(),拿到指定的region的argb pixels
2.Image.createRGBImage(),利用拿到的pixels來建立一張新的Image.
就可以作到了..
你可以去翻翻API看看...


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:atticcat]
sino6445





發文: 133
積分: 0
於 2005-03-28 11:01 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
nearest的演算法
在手機上表現蠻慘<<--馬賽克...

小弟大概知道了bilinear的演算法
bicubic還不知道>_<
請問有沒有人有
bilinear或是bicubic的演算法的程式碼?
可以分享一下的

據小弟的猜測
bicubic的演算法較複雜
最好有bilinear的
怕手機演算來不及

感恩


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
sino6445





發文: 133
積分: 0
於 2005-03-29 16:21 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
又得自我救濟了....

找到了
MIP Bresenham的方式
看來在手機可以應用的蠻好的
以放大來說
處理速度比bilinear快10倍,品質同bilinear
處理速度比Photoshop(default bicubic)快,品質比bicubic好


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
sino6445





發文: 133
積分: 0
於 2005-03-29 16:54 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
題外話

之前Photoshop(7.0以前)的PNG格式
壓縮比實在是令人詬病
還有一些圖片會格式錯誤><
害我當時寫了一個程式給
我們的美工人員
來修正Photoshop的錯誤
和重新壓縮Photoshop的圖片
photoshop-->10K
新程式-->7K
一個J2ME遊戲有10張圖的話
就差30K...

真是....


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
jacky_chen





發文: 16
積分: 0
於 2005-03-30 11:56 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
sino6445兄
你可以提供你找到的網路或程式嗎?
我用MIP Bresenham在google裡沒有找到呢?


reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:sino6445]
atticcat

There is no cookie



發文: 702
積分: 4
於 2005-04-03 01:19 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
sino6445 wrote:
又得自我救濟了....

找到了
MIP Bresenham的方式
看來在手機可以應用的蠻好的
以放大來說
處理速度比bilinear快10倍,品質同bilinear
處理速度比Photoshop(default bicubic)快,品質比bicubic好

你在手機上跑了嗎?效果跟速度如何??
我是指真手機喔~~.運常在模擬器上跑速度OK.一上真機子就~哇咧~~
如果再加上GIF動畫加放大....真會慢到受不少~~


atticcat edited on 2005-04-03 01:21
reply to postreply to post
作者 Re:[問題]關於圖片的放大縮小 [Re:timman]
sino6445





發文: 133
積分: 0
於 2005-04-13 17:12 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我的演算法
是以Bresenhan來改良推演的
不算是Bresenhan
Bresenhan的相關資料
http://www.ddj.com/documents/s=7119/ddj0205b/0205b.htm
關於更詳細的部分或是程式
不能給你>_<
(公司機密阿)

我還沒做實測
程式在手機的執行上
速度是必須嚴格要求的
Java 最低階 22Mhz CPU 速度一定OK
只是怕記憶體....

另外一提的是
J2me..有GIF Animation的API嗎...??


reply to postreply to post
» JWorld@TW »  Java ME、Google Android 平台與 JavaCard 討論區

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8