zoukankan      html  css  js  c++  java
  • Setting Text to Image On Android and Adjudt the text font size based on the android resolution

    1. Setting Text to Image On Android

    2. Adjudt the text font size based on the android resolution 

    3. 文字居中: paint.setTextAlign(Align.CENTER);然后drawText的x坐标设置为width / 2即可

    private float toPixel(Resources res, int dip) 
        {
            float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
                    dip, res.getDisplayMetrics());
            return px;
        }
        
        public Bitmap createBitmap(Bitmap src, String str)
        {          
              DisplayMetrics metrics = new DisplayMetrics();
             
               getWindowManager().getDefaultDisplay().getMetrics(metrics);
            
                int w = src.getWidth();  
                int h = src.getHeight();            
              
                int screenWidth = metrics.widthPixels;
                int screenHeight = metrics.heightPixels;      
            
                int height = (int)960*68/screenHeight;
                Bitmap bmpTemp = Bitmap.createBitmap(w, height, Config.ARGB_8888);  
                Canvas canvas = new Canvas(bmpTemp);  
                Paint p = new Paint();  
           
                Typeface font = Typeface.create(Typeface.DEFAULT,Typeface.BOLD);  
                p.setColor(Color.GRAY); 
                p.setTypeface(font); 
                
                int fontSize = (int)toPixel(getResources(),11);
             
                p.setTextSize(fontSize);  
                p.setTextAlign(Align.CENTER);
                canvas.drawBitmap(src, 0, 0, p);              
               
                int y = (int)960 *63/screenHeight;
                int x = (int)screenWidth/10;
                
                int adjustWidth = (int)(screenWidth/10 - (screenWidth - 5 *w)/10);
                
                if (adjustWidth < x 
                        && adjustWidth > 0)
                {
                  x = adjustWidth;
                }
                
                canvas.drawText(str,x , y, p);  
                canvas.save(Canvas.ALL_SAVE_FLAG);  
                canvas.restore();  
                return bmpTemp;  
        }
  • 相关阅读:
    androd ListView + CheckBox 解决超出一屏无法全选的问题。
    关于学习
    正则表达式助记口诀(转)
    无题
    《编程那些事儿》,《学习的艺术》读后泛谈
    我最恐惧的事情是竞争力的丧失
    编写小程序,测试你的严谨思维能力
    倒行逆施的贾金斯先生(转)
    C++学习步骤
    周爱民给程序员的十点建议
  • 原文地址:https://www.cnblogs.com/Jessy/p/2361580.html
Copyright © 2011-2022 走看看