2013-10-04 33 views
1

我需要字符串轉換中的EditText位圖,但我沒有得到的字符串,而是我得到這個(見圖片)enter image description hereedittext.getdrawing緩存不working.Android

我的代碼如下所示

Canvas c=new Canvas(); 

    MainActivity.editText.setCursorVisible(false); 
    MainActivity.editText.buildDrawingCache(); 
    Bitmap bmp = Bitmap.createBitmap(MainActivity.editText.getDrawingCache()); 

    System.out.println("string is "+MainActivity.editText.getText().toString()); 


File f =new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Photo Text"); 
    if(!f.exists()) 
    { 
     f.mkdirs(); 
    } 
    f = new File(f.getAbsolutePath(), 
      String.valueOf(System.currentTimeMillis()) +"phototext.jpg"); 
    if(!f.exists()) 
    { 
     try { 
      f.createNewFile(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 


    try { 
     bmp.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(f)); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 


    c.drawBitmap(bmp,0,0, mPaint); 

請給我建議。我需要edittext中的字符串作爲位圖。

回答

1

爲什麼不能拿到ExitText的文字,然後用drawText()Canvas上畫出來?

String text = editText.getText().toString(); 
canvas.drawText(text, 0, 0, paint); 

並根據文本高度和長度設置畫布高度和寬度。

+0

感謝這工作,但我認爲從字符串創建一個位圖更好,因爲我需要將文本ontouch移動到另一個位圖上。你能根據我的要求提出更多的可能性嗎? –