2011-12-28 61 views
3

我想將EditText的字符串轉換爲位圖。 有這樣如何將EditText的字符串轉換爲位圖?

String str=edtext.getText().toString(); 

字符串我如何可以轉換字符串爲位圖?

+0

這是相同的轉換iphone到android – ingsaurabh 2011-12-28 05:55:44

+0

那麼它怎麼可以在iphone – Matthew 2011-12-28 05:56:31

+0

做你的意思是你想要的圖像在文本框中有什麼?例如,如果文本框中有「2」,那麼你想要「2」的圖像? – Android 2011-12-28 05:58:04

回答

6

我不知道如何使string的形象,但這裏是代碼來使BitmapEditText

所以,你會得到整個EditText上沒有與此String類型的位圖圖像,

mEditText.setCursorVisible(false); 
mEditText.buildDrawingCache(); 
Bitmap bmp = Bitmap.createBitmap(mEditText.getDrawingCache()); 
+0

他也可以創建一個畫布,然後使用drawText方法,雖然不像您的方式那麼容易;-) – momo 2011-12-28 06:17:40

+0

@frank它的工作完美,就像我想!!謝謝.. – Matthew 2011-12-28 06:27:31

+0

@Ashish Bhai,你問了這個問題錯誤地,所以你得到了很好的評論,同時要求總是準確的以得到確切的答案。 – MKJParekh 2011-12-28 06:37:48

0

「位圖」是構成圖像的一組像素。

「字符串」是組成一個字的一組字符。

您可以做的最好的是讀取位圖,基於位圖的文件名。這就是Ankit Awasthi上面所說的。

希望這是你在找什麼...

2

我用以下解決方案來解決我的問題,這爲我工作。對於combineimages

Bitmap bmp = Bitmap.createBitmap(edtext.getDrawingCache()); 
System.out.println("ashish"+edtext.getText().toString()); 
Bitmap bm = BitmapFactory.decodeResource(r, R.drawable.balloon_overlay_focused); 
Bitmap bmw=combineImages(bm,bmp); 
CompositeImageViewText.setImageBitmap(bmw); 

// 代碼()

public Bitmap combineImages(Bitmap c, Bitmap s) { // can add a 3rd parameter 'String loc' if you want to save the new image - left some code to do that at the bottom 
     Bitmap cs = null; 

     int width, height = 0; 

     if(c.getWidth() > s.getWidth()) { 
      width = c.getWidth(); 
      height = s.getHeight()+30 ; 
     } else { 
      width = s.getWidth(); 
      height = s.getHeight()+30 ; 
     } 

     cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 

     Canvas comboImage = new Canvas(cs); 

     comboImage.drawBitmap(c, 0f, 0f, null); 
     comboImage.drawBitmap(s, 0f, 0f, null); 

     // this is an extra bit I added, just incase you want to save the new image somewhere and then return the location 
     /*String tmpImg = String.valueOf(System.currentTimeMillis()) + ".png"; 

     OutputStream os = null; 
     try { 
      os = new FileOutputStream(loc + tmpImg); 
      cs.compress(CompressFormat.PNG, 100, os); 
     } catch(IOException e) { 
      Log.e("combineImages", "problem combining images", e); 
     }*/ 

     return cs; 
     } 

希望它能幫助其他!