package com.ych.demo;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Matrix;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
/**
* 此demo实现了截屏并将截图放到指定的控件上缩放显示
* 技术要点:
* 1.截屏
* 2.缩放功能
* @author: 严程
* @CreateDate: 2012-08-09
*/
public class Demo4Activity extends Activity {
private Button but;
private ImageButton img;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
but = (Button)findViewById(R.id.but);
but.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 实现截屏
View view = Demo4Activity.this.getWindow().getDecorView();
// 启动缓存
view.setDrawingCacheEnabled(true);
// 接收数据
Bitmap bitmap = view.getDrawingCache();
img.setImageBitmap(zoomBitmap(bitmap));
}
});
img = (ImageButton)findViewById(R.id.img);
img.setBackgroundColor(Color.RED);
}
/**
* 实现图缩放
* @param target
* @return
*/
public Bitmap zoomBitmap(Bitmap target){
// 得到图片的高宽
int width = target.getWidth();
int height = target.getHeight();
Matrix matrix = new Matrix();
// 算出图片的高宽缩放比例
float scaleWidth = ((float)300)/ width;
float scaleHeight = ((float)300)/ height;
matrix.postScale(scaleWidth, scaleHeight);
// Bitmap result = Bitmap.createBitmap(target,0,0,width,height, matrix,true);
return Bitmap.createBitmap(target,0,0,width,height, matrix,true);
}
}
// main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/but" android:text="button" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ImageButton android:id="@+id/img" android:layout_width="300dip" android:layout_height="300dip"/>
</LinearLayout>
分享到:
相关推荐
在Android开发中,实现类似QQ的截图功能,包括拉伸、缩放以及双击截图,是一项常见的需求。本文将深入探讨如何实现这一功能,并提供一个名为"2012-06-21CaptureViewTest"的代码示例。 首先,我们需要创建一个自定义...
本文将详细探讨两种在Android手机上实现屏幕截图的方法,并重点介绍一种用于图片多点触摸缩放的工具类,帮助开发者创建更加互动和用户体验良好的应用。 首先,让我们来看看Android手机如何进行屏幕截图。方法一,...
在Android开发中,实现类似QQ的截图功能是一项常见的需求,它包括了图像的拉伸、移动和缩放等操作。这个功能的实现主要是基于自定义View的概念,通过重写View的相关方法来达到目的。以下是对这个知识点的详细解析: ...
在Android平台上,实现模糊虚化图片截屏涉及到多个技术层面,包括屏幕截图、图像处理以及模糊效果的实现。本文将详细讲解如何在Android应用中创建一个具有模糊效果的截图功能。 1. **屏幕截图** - Android提供了...
2. **截图功能**:在Android中,可以使用`View`的`drawToBitmap()`方法将当前屏幕内容绘制到Bitmap对象中,然后对Bitmap进行处理,如保存或上传。另外,`SurfaceView`和`TextureView`等特殊视图可能需要额外处理。`...
在IT行业中,开发一款应用程序时常会涉及到各种交互和传感器技术,本Demo的目的是为了帮助初学者理解并掌握一些核心的Android编程技术。标题中的“摇杆缩放手势传感截图”揭示了这个项目涵盖的主要功能,包括摇杆...
在Android开发中,实现截屏、拍照和浏览功能是常见的需求,这些功能为用户提供便捷的交互体验。下面我们将深入探讨如何实现这些功能。 首先,让我们来看看如何实现**手机截屏**。在Android中,可以使用以下步骤来...
在本项目中,我们将探讨如何使用OpenCV库与Android Studio结合,通过SDK方式实现在Android设备上进行实时人脸检测,并自动截取包含人脸区域的图片保存。OpenCV是一个强大的计算机视觉库,支持多种编程语言,包括Java...
在Android平台上,实现区域截图是一项常见的需求,例如用于制作教程、分享屏幕内容或者进行测试报告。这个"Android区域截图源码"提供了实现这一功能的方法。接下来,我们将详细探讨区域截图的相关知识点。 首先,...
本文将基于"Android实例之程序界面内截取屏幕"这一主题,深入探讨如何在Android应用内部实现屏幕截图功能。 首先,我们要理解Android系统提供的一些核心API,用于获取设备的屏幕内容。在Android中,我们可以使用`...
Android自定义View实现可拖拽缩放的矩形框是Android开发中常见的需求,特别是在截屏功能中,需要一个矩形框来实现截屏,并且还需要可以任意拖拽和缩放。为了实现这个功能,需要自定义View来实现,下面将详细介绍...
在Android应用开发中,多点缩放字体是一项重要的功能,特别是在阅读、文本编辑或自定义UI设计等场景中。这个“Android应用源码之多点缩放字体DEMO”是针对计算机专业毕业设计的一个示例项目,旨在帮助学生理解和实现...
综上所述,实现"android摄像头扫描区域截图"涉及到的步骤和关键技术是多方面的,包括权限管理、相机操作、UI交互、图像处理和识别算法。在开发过程中,需要结合具体需求,灵活运用这些技术,以创建出高效、稳定且...
Android系统提供了截屏的API,如View的drawToBitmap方法,可以将指定视图绘制为Bitmap对象,实现屏幕截图。在百度地图应用中,可以调用地图Fragment或Activity的root view来获取截图。为了保证截图质量,需要考虑到...
在Android平台上,框选图片中的一部分并截取是一项常见的需求,比如在应用中实现自定义截图功能、编辑图片或者在图像处理中选择特定区域。这个功能涉及到多个Android SDK中的类和方法,包括图像处理、视图操作以及...
本文将详细解析"Android区域截图源码"这一主题,旨在深入理解如何实现这一功能。 首先,我们要了解Android系统级别的截图机制。在Android中,截图通常涉及到WindowManager服务,该服务允许应用程序获取窗口的层级...
在Android开发中,有时我们需要对应用的某个特定View进行截图并保存或分享,例如用户希望分享当前活动的状态或者游戏得分。这个过程涉及到的关键知识点包括View的层级结构、Bitmap的生成与处理以及图片的保存和合成...
本篇将详细探讨如何实现“Android笔记之图片自由裁剪DEMO”,并结合提供的`ImageCutDemo`来深入理解相关知识点。 1. **Intent选择图片** Android系统提供了Intent机制,用于启动系统服务或与其他应用程序进行交互...
本文将深入探讨如何在Android应用中实现这一功能,并基于提供的"jietuDemo"项目名称,我们可以假设这是一个关于截图示例的代码库。 首先,Android截图主要分为两种类型:系统级截图和应用内截图。系统级截图通常...
4. **截图**:在Android中,截屏通常涉及`WindowManager`、`Display`和`View`等组件。可以通过`View.draw(Canvas)`方法将屏幕内容绘制到`Canvas`上,然后保存为Bitmap。也可以使用`Activity.getWindow()....