mariadb maxscalee 收费吗

android开发(16)
MainActivity&
package cn.bgs.img_
import android.os.B
import android.R.
import android.app.A
import android.graphics.B
import android.graphics.BitmapF
import android.view.M
public class MainActivity extends Activity {
private Img_SuoFang mI
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
mImg=(Img_SuoFang) findViewById(R.id.mImg);
mImg.setBitmap(bitmap);
Img_SuoFang.class 图片缩放类
package cn.bgs.img_
import android.content.C
import android.graphics.B
import android.graphics.C
import android.graphics.M
import android.graphics.P
import android.graphics.PointF;
import android.util.AttributeS
import android.view.MotionE
import android.view.V
public class Img_SuoFang extends View{
private B//要操作的图片
private Matrix matrix=new Matrix();//使用矩阵来缩放位移图片
private boolean touchFlag=//触摸的标志 &一个手指点为true &两个手指点为false
private PointF pf=new PointF();//用来记录手指按下的坐标的类
private boolean isFirst=//图片是否第一次进入
private float dis=0f;//两指之间的距离
private float midx=0f;//两指之间X轴的中心坐标
private float midy=0f;//两指之间Y轴的中心坐标
private float maxScale=5f;//最大的放大倍数
private float minScale=0.5f;//最小的缩小倍数
private float [] array=new float[9];//数组里的9个值
public Img_SuoFang(Context context, AttributeSet attrs) {
super(context, attrs);
//最大放大的倍数
private void setMaxScale(float maxScale){
if (maxScale&5||maxScale&0.5) {
this.maxScale=maxS
//最小缩小的倍数
private void setMinScale(float minScale){
if (minScale&5||minScale&0.5) {
this.minScale=minS
//设置图片的方法
public void setBitmap(Bitmap bitmap){
this.bitmap=
invalidate();
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if (isFirst&bitmap!=null) {
float wScale=getMeasuredWidth()/bitmap.getWidth();//屏幕相对于图片宽的倍数
float hScale=getMeasuredHeight()/bitmap.getHeight();//屏幕相对于图片高的倍数
float Scale=Math.min(wScale, hScale);//取两个倍数的最小值
//以这个最小的值来缩放原始的图片使其适配屏幕
matrix.postScale(Scale, Scale);
maxScale*=S
minScale*=S
//获得图片初始位置到自定义View中心点距离 & 将图片位移到屏幕的中心
float disOx=getMeasuredWidth()/2-bitmap.getWidth()*Scale/2;
float disOy=getMeasuredHeight()/2-bitmap.getHeight()*Scale/2;
matrix.postTranslate(disOx, disOy);
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (bitmap!=null) {
//将处理过得图片画到View上
canvas.drawBitmap(bitmap, matrix, null);
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN) {
//第一个手指按下的坐标
touchFlag=
pf.x=event.getX();
pf.y=event.getY();
}else if (event.getAction()==MotionEvent.ACTION_POINTER_2_DOWN) {
//第二个手指按下
touchFlag=
float twoX=event.getX();
float twoY=event.getY();
//计算移动之前两指之间的距离
dis=(float) Math.sqrt(Math.pow(event.getX(0)-event.getY(1),2)+
Math.pow(event.getY(0)-event.getY(1), 2));
//获得两指的中心的坐标 & 以这个坐标来缩放图片
midx=(event.getX(0)+event.getX(1))/2;
midy=(event.getY(0)+event.getY(1))/2;
}else if (event.getAction()==MotionEvent.ACTION_MOVE) {
if (touchFlag&&event.getPointerCount()==1) {
//一根手指滑动
float nowoneX=event.getX();
float nowoneY=event.getY();
//计算滑动距离
float onedisX=nowoneX-pf.x;
float onedisY=nowoneY-pf.y;
//将抹点的坐标再次作为移动的初始点
pf.x=nowoneX;
pf.y=nowoneY;
//图片位移
matrix.postTranslate(onedisX, onedisY);
}else if (!touchFlag&&event.getPointerCount()==2) {
//两根手指滑动
//滑动后两指之间的距离
float nowdis=(float) Math.sqrt(Math.pow(event.getX(0)-event.getY(1),2)+
Math.pow(event.getY(0)-event.getY(1), 2));
//获取图片的缩放倍数
float twoScale=nowdis/
//矩阵中获取9个值
matrix.getValues(array);
//将缩放后的距离当做再次缩放的初始值
//缩放移动边界的判断
if (array[0]&=maxScale&&twoScale&=1) {
if (array[0]&=minScale&&twoScale&1) {
//设置缩放
matrix.postScale(twoScale, twoScale, midx, midy);
invalidate();
activity_main.XML
&RelativeLayout xmlns:android=&/apk/res/android&
& & xmlns:tools=&/tools&
& & android:layout_width=&match_parent&
& & android:layout_height=&match_parent&
& & tools:context=&.MainActivity& &
&cn.bgs.img_suofang.Img_SuoFang
& &android:id=&@+id/mImg&
& &android:layout_width=&match_parent&
& &android:layout_height=&match_parent&
&/RelativeLayout&
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:728次
排名:千里之外
原创:23篇
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'maxscale不是只要在主机上安装吗【php吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:138,266贴子:
maxscale不是只要在主机上安装吗收藏
配置了mysql cluster集群,配置的节点如上图
登录百度帐号推荐应用Android 图片的缩放以及滑动
图片的缩放以及滑动。
MainActivity
package cn.bgs.img_
import android.os.B
import android.R.
import android.app.A
import android.graphics.B
import android.graphics.BitmapF
import android.view.M
public class MainActivity extends Activity {
private Img_SuoFang mI
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
mImg=(Img_SuoFang) findViewById(R.id.mImg);
mImg.setBitmap(bitmap);
Img_SuoFang.class 图片缩放类
package cn.bgs.img_
import android.content.C
import android.graphics.B
import android.graphics.C
import android.graphics.M
import android.graphics.P
import android.graphics.PointF;
import android.util.AttributeS
import android.view.MotionE
import android.view.V
public class Img_SuoFang extends View{
private B//要操作的图片
private Matrix matrix=new Matrix();//使用矩阵来缩放位移图片
private boolean touchFlag=//触摸的标志 一个手指点为true 两个手指点为false
private PointF pf=new PointF();//用来记录手指按下的坐标的类
private boolean isFirst=//图片是否第一次进入
private float dis=0f;//两指之间的距离
private float midx=0f;//两指之间X轴的中心坐标
private float midy=0f;//两指之间Y轴的中心坐标
private float maxScale=5f;//最大的放大倍数
private float minScale=0.5f;//最小的缩小倍数
private float [] array=new float[9];//数组里的9个值
public Img_SuoFang(Context context, AttributeSet attrs) {
super(context, attrs);
//最大放大的倍数
private void setMaxScale(float maxScale){
if (maxScale&5||maxScale&0.5) {
this.maxScale=maxS
//最小缩小的倍数
private void setMinScale(float minScale){
if (minScale&5||minScale&0.5) {
this.minScale=minS
//设置图片的方法
public void setBitmap(Bitmap bitmap){
this.bitmap=
invalidate();
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if (isFirst&bitmap!=null) {
float wScale=getMeasuredWidth()/bitmap.getWidth();//屏幕相对于图片宽的倍数
float hScale=getMeasuredHeight()/bitmap.getHeight();//屏幕相对于图片高的倍数
float Scale=Math.min(wScale, hScale);//取两个倍数的最小值
//以这个最小的值来缩放原始的图片使其适配屏幕
matrix.postScale(Scale, Scale);
maxScale*=S
minScale*=S
//获得图片初始位置到自定义View中心点距离 将图片位移到屏幕的中心
float disOx=getMeasuredWidth()/2-bitmap.getWidth()*Scale/2;
float disOy=getMeasuredHeight()/2-bitmap.getHeight()*Scale/2;
matrix.postTranslate(disOx, disOy);
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (bitmap!=null) {
//将处理过得图片画到View上
canvas.drawBitmap(bitmap, matrix, null);
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN) {
//第一个手指按下的坐标
touchFlag=
pf.x=event.getX();
pf.y=event.getY();
}else if (event.getAction()==MotionEvent.ACTION_POINTER_2_DOWN) {
//第二个手指按下
touchFlag=
float twoX=event.getX();
float twoY=event.getY();
//计算移动之前两指之间的距离
dis=(float) Math.sqrt(Math.pow(event.getX(0)-event.getY(1),2)+
Math.pow(event.getY(0)-event.getY(1), 2));
//获得两指的中心的坐标 以这个坐标来缩放图片
midx=(event.getX(0)+event.getX(1))/2;
midy=(event.getY(0)+event.getY(1))/2;
}else if (event.getAction()==MotionEvent.ACTION_MOVE) {
if (touchFlag&&event.getPointerCount()==1) {
//一根手指滑动
float nowoneX=event.getX();
float nowoneY=event.getY();
//计算滑动距离
float onedisX=nowoneX-pf.x;
float onedisY=nowoneY-pf.y;
//将抹点的坐标再次作为移动的初始点
pf.x=nowoneX;
pf.y=nowoneY;
//图片位移
matrix.postTranslate(onedisX, onedisY);
}else if (!touchFlag&&event.getPointerCount()==2) {
//两根手指滑动
//滑动后两指之间的距离
float nowdis=(float) Math.sqrt(Math.pow(event.getX(0)-event.getY(1),2)+
Math.pow(event.getY(0)-event.getY(1), 2));
//获取图片的缩放倍数
float twoScale=nowdis/
//矩阵中获取9个值
matrix.getValues(array);
//将缩放后的距离当做再次缩放的初始值
//缩放移动边界的判断
if (array[0]&=maxScale&&twoScale&=1) {
if (array[0]&=minScale&&twoScale&1) {
//设置缩放
matrix.postScale(twoScale, twoScale, midx, midy);
invalidate();
activity_main.XML
xmlns:tools=&/tools&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
tools:context=&.MainActivity& &
android:id=&@+id/mImg&
android:layout_width=&match_parent&
android:layout_height=&match_parent&

我要回帖

更多关于 mariadb maxscale 的文章

 

随机推荐