मैं कुछ पृष्ठभूमि और कुछ पाठ के साथ एक ड्रायबल बनाने के लिए कैनवास का उपयोग कर रहा हूं। ड्रॉबल को एडिटटेक्स्ट के अंदर एक यौगिक ड्रॉबल के रूप में उपयोग किया जाता है।एंड्रॉइड कैनवास ड्राटेक्स्ट टेक्स्ट की वाई-स्थिति
टेक्स्ट कैनवास पर drawText() के माध्यम से खींचा जाता है, लेकिन मुझे कुछ मामलों में खींचे गए पाठ की वाई-स्थिति के साथ कोई समस्या है। उन मामलों में कुछ पात्रों के कुछ हिस्सों को काटा जाता है (छवि लिंक देखें)।
पोजीशनिंग मुद्दे के बिना वर्ण:
http://i50.tinypic.com/zkpu1l.jpg
पोजीशनिंग मुद्दे के साथ वर्ण, पाठ 'जी', 'जे', 'क्यू', आदि .:
http://i45.tinypic.com/vrqxja.jpg
शामिलआप नीचे दिए गए मुद्दे को पुन: पेश करने के लिए कोड स्निपेट पा सकते हैं।
क्या कोई विशेषज्ञ जानता है कि y स्थिति के लिए उचित ऑफ़सेट कैसे निर्धारित किया जाए?
public void writeTestBitmap(String text, String fileName) {
// font size
float fontSize = new EditText(this.getContext()).getTextSize();
fontSize+=fontSize*0.2f;
// paint to write text with
Paint paint = new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.DKGRAY);
paint.setAntiAlias(true);
paint.setTypeface(Typeface.SERIF);
paint.setTextSize((int)fontSize);
// min. rect of text
Rect textBounds = new Rect();
paint.getTextBounds(text, 0, text.length(), textBounds);
// create bitmap for text
Bitmap bm = Bitmap.createBitmap(textBounds.width(), textBounds.height(), Bitmap.Config.ARGB_8888);
// canvas
Canvas canvas = new Canvas(bm);
canvas.drawARGB(255, 0, 255, 0);// for visualization
// y = ?
canvas.drawText(text, 0, textBounds.height(), paint);
try {
FileOutputStream out = new FileOutputStream(fileName);
bm.compress(Bitmap.CompressFormat.JPEG, 100, out);
} catch (Exception e) {
e.printStackTrace();
}
}
सही दिशा में मुझे इंगित करने के लिए धन्यवाद। canvas.drawText (पाठ, 0, textBounds.height() - textBounds.bottom, पेंट); समाधान था – darksaga