** ЭТОТ ВОПРОС БЫЛ УСПЕШНО ОТВЕТИЛ И СТАНОВИЛ БЛОГ-ОТЧЕТ < - click **
Привет, я разработчик PHP. Я хочу сделать простую вещь. Я хочу нарисовать что-то на пустой странице на Android-телефоне (пальцем с большим "эмулированным пером" ) и сохранить растровое изображение как jpeg на сервере по почте http.
Вот что я до сих пор, но это взято из учебника, который связан с написанием спрайтов для игры. И я не могу 'приспособить его
package com.my.example;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnTouchListener;
public class DrawCapture extends Activity implements OnTouchListener{
OurView v;
Bitmap ball;
float x,y;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.draw_capture);
v = new OurView(this);
v.setOnTouchListener(this);
ball = BitmapFactory.decodeResource(getResources(), R.drawable.blueball);
x = y = 0;
setContentView(v);
}
@Override
protected void onPause(){
super.onPause();
v.pause();
}
protected void onResume(){
super.onResume();
v.resume();
}
public class OurView extends SurfaceView implements Runnable{
Thread t = null;
SurfaceHolder holder;
boolean isItOK = false;
public OurView(Context context) {
super(context);
holder = getHolder();
}
public void run() {
while (isItOK == true){
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
//perform canvas drawing
if (!holder.getSurface().isValid()){
continue;
}
Canvas c = holder.lockCanvas();
onDraw(c);
holder.unlockCanvasAndPost(c);
}
}
public void onDraw(Canvas c){
c.drawARGB(255, 210, 210, 210);
c.drawBitmap(ball, x - (ball.getWidth()/2), y - (ball.getHeight()/2), null);
}
public void pause(){
isItOK = false;
while(true){
try{
t.join();
} catch(InterruptedException e){
e.printStackTrace();
}
break;
}
t = null;
}
public void resume(){
isItOK = true;
t = new Thread(this);
t.start();
}
}
public boolean onTouch(View v, MotionEvent me){
switch (me.getAction()){
case MotionEvent.ACTION_DOWN :
x = me.getX();
y = me.getY();
break;
case MotionEvent.ACTION_UP :
x = me.getX();
y = me.getY();
break;
case MotionEvent.ACTION_MOVE :
x = me.getX();
y = me.getY();
break;
}
return true;
}
}
и вот XML
<?xml version="1.0" encoding="utf-8"?>
<SurfaceView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</SurfaceView>
Может кто-нибудь мне помочь? Я чувствую, что я близок - я использую blueball
как перо. Я просто хочу "сохранить" это, и, возможно, мне понадобится кнопка (или меню) на странице XML для этого? Я знаю это немного, но есть много людей в Интернете, которые спрашивают, как рисовать пальцем и сохранять что-то в "облаке", если люди могут ответить примерами кода (не ссылки ) Я обещаю, что я скомпилирую это в правильную часть кода для возможного преимущества для всех. Включая код на стороне сервера PHP, который я уже очень доволен.