Проблемы при размещении нескольких текстов с изображением с использованием холста и краски - PullRequest
0 голосов
/ 25 февраля 2019

вот мой код:

    ImageView mImageView = (ImageView)findViewById(R.id.imageView1);

  //  Bitmap bmp =drawTextToBitmap(this,R.drawable.man,"Hello Android");

    Bitmap bmp =drawTextArrayToBitmap(this,R.drawable.man,"Smile");
    mImageView.setImageBitmap(bmp);

теперь вот мой метод:

  public Bitmap drawTextArrayToBitmap(Context mContext, int resourceId,String mText) {
    try {
        Resources resources = mContext.getResources();
        float scale = resources.getDisplayMetrics().density;
        Bitmap bitmap = BitmapFactory.decodeResource(resources, resourceId);
        android.graphics.Bitmap.Config bitmapConfig =   bitmap.getConfig();

        if(bitmapConfig == null) {
            bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
        }

        bitmap = bitmap.copy(bitmapConfig, true);
        Canvas canvas = new Canvas(bitmap);

        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setColor(Color.rgb(110,110, 110));
        paint.setTextSize((int) (12 * scale));
        paint.setShadowLayer(1f, 0f, 1f, Color.DKGRAY);

        Rect bounds = new Rect();
        paint.getTextBounds(mText, 0, mText.length(), bounds);

       /* int x = (bitmap.getWidth() - bounds.width())/6;
        int y = (bitmap.getHeight() + bounds.height())/5;*/

        int x = 100, y = 100;
        for(int i=0;i<20;i++)
        {

            canvas.drawText(mText, x * scale, y * scale, paint);
        }
        return bitmap;
    } catch (Exception e) {
        // TODO: handle exception

        return null;
    }

}
}

Я работаю над приложением для Android, таким как фильтр изображений. Я хочу сделать изображение, подобное этомупосле использования фильтра по изображению

I want to put Textviews with different font style for that I am using FontAwesome also

После поиска в StackOverflow я получил только это решение, и это не так, как я хочу реализовать: я получилвот так

canvas.drawText("This is", 100, 100, mTextPaint);
canvas.drawText("multi-line", 100, 150, mTextPaint);
canvas.drawText("text", 100, 200, mTextPaint);

Я не хочу делать вот так: пожалуйста, помогите мне, я буду рад вашим ответам и предложениям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...