`
wang_peng1
  • 浏览: 3944310 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android画图-----图像预览

阅读更多
真高不明白 图像预览的例子 竟然放在这里,我觉得放在照相机那里边更好一些,这个例子很简单,就是先要获得图像预览的持有者 SurfaceHolder,然后相机通过它得到一个浏览的窗口。但是最主要 也是为啥把这个例子放在这 就是因为SurfaceHolder必须添加一个监听器实现几个接口:
class Preview extends SurfaceView implements SurfaceHolder.Callback {
    SurfaceHolder mHolder;
    Camera mCamera;
   
    Preview(Context context) {
        super(context);
       
        // Install a SurfaceHolder.Callback so we get notified when the
        // underlying surface is created and destroyed.
        mHolder = getHolder();
        mHolder.addCallback(this);
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

    public void surfaceCreated(SurfaceHolder holder) {
        // The Surface has been created, acquire the camera and tell it where
        // to draw.
        mCamera = Camera.open();
        try {
           mCamera.setPreviewDisplay(holder);
        } catch (IOException exception) {
            mCamera.release();
            mCamera = null;
            // TODO: add more exception handling logic here
        }
    }

    public void surfaceDestroyed(SurfaceHolder holder) {
        // Surface will be destroyed when we return, so stop the preview.
        // Because the CameraDevice object is not a shared resource, it's very
        // important to release it when the activity is paused.
        mCamera.stopPreview();
        mCamera.release();
        mCamera = null;
    }

    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        // Now that the size is known, set up the camera parameters and begin
        // the preview.
        Camera.Parameters parameters = mCamera.getParameters();
        parameters.setPreviewSize(w, h);
        mCamera.setParameters(parameters);
        mCamera.startPreview();
    }

}

public class CameraPreview extends Activity {   
    private Preview mPreview;
   
    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        // Hide the window title.
        requestWindowFeature(Window.FEATURE_NO_TITLE);
   
        // Create our Preview view and set it as the content of our activity.
        mPreview = new Preview(this);
        setContentView(mPreview);
    }

}

这里面用到最多的就是相机的设置了不说了。
分享到:
评论

相关推荐

    Android学习-画图着色

    Android提供了Bitmap类来处理位图图像,我们可以将当前画布转换为Bitmap,然后使用MediaStore或Intent来保存到设备上。反之,也可以从设备中读取图片,将其加载到画布上供用户着色。 5. **权限管理**:由于涉及到...

    Android 画图工具源码.rar

    首先,源码中的UI设计可能包含了`ImageView`用于预览图像,`Canvas`用于实际的绘图,以及一系列的按钮和滑块来控制颜色、线条宽度和橡皮擦功能。`LinearLayout`、`RelativeLayout`或`ConstraintLayout`等布局管理器...

    头像上传和拍照,path画图

    综上所述,这个项目涉及了图像选择、图像处理、网络上传、手势识别、自定义绘图以及用户界面设计等多个技术领域,是移动应用开发中的一个典型实例。开发者通过这个示例可以学习到如何在实际项目中整合这些技术,为...

    android二维码扫描和生成,可以随便更改扫描框,基于Zxing改编

    这涉及到对相机预览流的处理,以及如何将预览流转换成二维码识别所需的图像数据。我们需要理解和运用Android的Camera API或者Camera2 API,确保图像的正确捕获和处理。 在扫描逻辑方面,Zxing提供了解码器接口,...

    android各种动画套用

    在画图应用中,如果在画图模式和预览模式之间切换,可以利用Transition动画实现无缝过渡。 对于画图功能,Android提供了Canvas和Paint类来支持图形绘制。Canvas提供了画布,而Paint则定义了绘图的样式,如颜色、...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过...

    基于Qt QGraphicsView的简易画图软件.zip

    它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户...

    Android自定义绘图DrawColor

    然后将这个角度转换为颜色值,并可能显示一个预览框,让用户看到所选颜色的效果。 在实际应用中,我们还可能需要考虑其他功能,例如添加一个颜色代码输入框,允许用户输入十六进制颜色代码,或者提供一个颜色历史...

    android软件、二维码扫描、读取、识别、生成、带logo

    总结起来,开发Android上的二维码应用涉及到的技能点包括Android Camera API的使用、图像处理、第三方库集成、二维码编码解码原理以及基本的Android应用开发流程。掌握这些技能,开发者可以创建出功能丰富的二维码...

    Google Android SDK开发范例大全的目录

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过...

    android应用源码图片放大缩小旋转涂鸦源码.zip

    在Android应用开发中,图片的处理是不可或缺的一部分,特别是在用户交互和界面设计中。...开发者可以通过研究这段代码,深入了解Android图形与图像处理机制,并且能够应用到自己的项目中,提升应用的用户体验。

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 ...

    基于Android studio实现的拍照及图片裁剪、调用系统相册项目源码

    Android Studio是Google提供的官方Android应用开发IDE,支持Gradle构建系统,提供丰富的调试工具、代码自动完成、布局预览等功能,使得开发者能够更高效地编写和测试应用。 6. **软件/插件**: 在Android Studio...

    Google Android SDK 开发范例大全01

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过...

    Google Android SDK 开发范例大全02

    8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过...

    图像拖拽,Delphi拖动图片改变位置..rar

    TCanvas可以用来在屏幕或内存中画图,允许我们在拖动过程中绘制图像的实时预览。 7. **代码示例**: 以下是一个简单的TImage拖动的伪代码示例: ```delphi procedure TForm1.Image1MouseDown(Sender: TObject; ...

Global site tag (gtag.js) - Google Analytics