1 ضمیمه
تعیین مختصات کارکترهای یک رشته در Canvas
سلام
من یک گرید با Canvas طراحی کرده ام حالا می خواهم یک بخش از متن را که با DrawText روی یک Canvas را ترسیم شده رنگی کنم مثل شکل ذیل خیلی هم نت را جستجو کردم هیچ ردی پیدا نکردم من تو #C اینکار را انجام دادم کسی من تواند یک راهنمائی کند با چه متدی در Canvas یا Paint می توان بعد از ترسیم مختصات کارکترهای چاپ شده را بدست آورد ؟
ممنون از همه
نقل قول: تعیین مختصات کارکترهای یک رشته در Canvas
خب چرا زمانی که متن draw میشه همین کار رو نمی کنید؟
یا به همون روشی که مختصاتی برای ترسیم متن پیدا میکنید همون رو برای رنگی کردن هم تکرار کنید.
نقل قول: تعیین مختصات کارکترهای یک رشته در Canvas
سلام
همان موقع می خواهم اینکار را انجام دهم باید بتوانم مختصات متن کوچک را تشخیص دهم متن اصلی که در مختصات x,y که Draw می شود متن کوچک 'x آن چقدر می شود؟ در #C یک متد وجود دارد که مختصات تک تک کارکترها را بصورت یک آریه بعد از ترسیم Draw اعلام می کند بنظر مشابه این متد باید در Java هم باشد
نقل قول: تعیین مختصات کارکترهای یک رشته در Canvas
سلام
خودم جوابش را پیدا کردم متد measureText یک OveLoad برای اندازه گیری این موضوع دارد اینجا گذاشتم تا بدرد دیگران هم بخورد
mTextPaint.setStyle(Paint.Style.FILL);
mTextPaint.setTextSize(57.3f);
float mW1 = mTextPaint.measureText(txt, 0, 4);
float mW2 = mTextPaint.measureText(txt, 0, 7 + 1);
mTextPaint.setColor(Color.YELLOW);
canvas.drawRect(mLeft + mW1, mTop-40, mLeft + mW2, mTop, mTextPaint);
mTextPaint.setColor(Color.BLUE);
canvas.drawText(txt, mLeft, mTop, mTextPaint);