Audio et vidéo Android trois façons de dessiner des images

Pour dessiner une image sur la plate-forme Android, utilisez au moins 3 API différentes, ImageView, SurfaceView et une vue personnalisée.

1. ImageView dessine des images

Quiconque a fait du développement Android doit savoir dessiner. C'est simple:

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");
imageView.setImageBitmap(bitmap);

Il est facile de voir l'image que nous avons dessinée sur l'interface.

2. SurfaceView dessine des images

C'est un peu plus compliqué que de dessiner des images ImageView :

SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surface);
surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
    @Override
    public void surfaceCreated(SurfaceHolder surfaceHolder) {

        if (surfaceHolder == null) {
            return;
        }

        Paint paint \= new Paint();
        paint.setAntiAlias(true);
        paint.setStyle(Paint.Style.STROKE);

        Bitmap bitmap \= BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");  // 获取bitmap
        Canvas canvas = surfaceHolder.lockCanvas();  // 先锁定当前surfaceView的画布
        canvas.drawBitmap(bitmap, 0, 0, paint); //执行绘制操作
        surfaceHolder.unlockCanvasAndPost(canvas); // 解除锁定并显示在界面上
    }

    @Override
    public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {

    }

    @Override
    public void surfaceDestroyed(SurfaceHolder surfaceHolder) {

    }
});

3. Personnalisez la vue pour dessiner des images

Cela peut être fait facilement si vous avez de l'expérience dans le dessin de vues personnalisées. J'ai également brièvement trié les connaissances sur le dessin de vues personnalisées Android :

public class CustomView extends View {  
  
    Paint paint = new Paint();  
    Bitmap bitmap;  
  
    public CustomView(Context context) {  
        super(context);  
        paint.setAntiAlias(true);  
        paint.setStyle(Paint.Style.STROKE);  
        bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");  // 获取bitmap  
    }  
  
    @Override  
    protected void onDraw(Canvas canvas) {  
        super.onDraw(canvas);  
  
        // 不建议在onDraw做任何分配内存的操作  
        if (bitmap != null) {  
            canvas.drawBitmap(bitmap, 0, 0, paint);  
        }  
    }  
}

Remarque : n'oubliez pas l'autorisation, sinon le succès ne sera pas affiché.

<uses-permission android:name="android.permission.READ\_EXTERNAL\_STORAGE"/>

Scannez le code QR ci-dessous pour obtenir plus de matériel d'apprentissage audio et vidéo Android gratuitement !

Parcours d'apprentissage du développement audio et vidéo Android au niveau de l'entreprise + pratique de projet (avec code source)

Avec l'avènement de l'ère de la 5G, les courtes vidéos ont progressivement envahi le quotidien des gens. Aujourd'hui, un grand nombre d'entreprises ont commencé à prêter attention aux talents audio et vidéo, et le salaire des ingénieurs audio et vidéo est d'environ 30% supérieur à celui des développeurs ordinaires.

À l'heure actuelle, les praticiens de l'audio et de la vidéo ont essentiellement deux directions : l'une concerne les algorithmes audio et vidéo, qui nécessitent des compétences mathématiques approfondies et une formation en algorithme. Ce type de talent est presque monopolisé par les grandes entreprises, avec un salaire annuel moyen de plus d'un million ; Ces personnes sont relativement nombreuses dans le domaine du développement commercial de l'audio et de la vidéo. Elles ont une base théorique solide, des compétences techniques approfondies et sont très familières avec l'audio et la vidéo.

En raison du contenu volumineux de l'article et de l'espace limité, les informations ont été organisées en documents PDF. Si vous avez besoin du document complet "Audio and Video Development Complete Route Information", vous pouvez ajouter WeChat pour l'obtenir gratuitement ! ( Promesse : 100% gratuit)

24 leçons avec cinq projets réels , à savoir: projet de codec audio et vidéo Android combat réel, analyse du système de diffusion en direct pan-divertissement et combat réel en streaming, projet de diffusion en direct Douyu combat réel, projet d'application de caméra de beauté manuscrite OpenGL ES combat réel, compilation croisée et le combat du projet CameraX.

image

Je suppose que tu aimes

Origine blog.csdn.net/Android_XG/article/details/129666223
conseillé
Classement