Gracias mocelet, opté por la primera opcion y encontre una libreria, todo va bien a excepcion de el ontouchlistener por que mi bitmap es de 1024x1024 pero el imageview apenas de 300x200 y cuando pulso envia coordenadas erroneas al bitmap y no sé como arreglarlo, gracias por toda la ayuda, te dejo el codigo aqui:
[PHP]package com.example.asd;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.Toast;
import com.threekkapps.library.bitmap.JniBitmap;
public class MainActivity extends ActionBarActivity implements OnClickListener{
private int[] values;
private int x,y;
private Bitmap bm;
private BitmapDrawable ob;
private ImageView IV;
@
override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
values = new int[2];
IV = (ImageView)findViewById(R.id.IV);
// bm = BitmapFactory.decodeResource(getResources(), R.drawable.forme);
BitmapDrawable BMD = (BitmapDrawable)IV.getDrawable();
bm = BMD.getBitmap();
ob = new BitmapDrawable(getResources(), bm);
IV.setOnClickListener(this);
IV.setOnTouchListener(new View.OnTouchListener() {
@
override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
x=(int) event.getX();
y=(int) event.getY();
return false;
}
});
}
@
override
public void onClick(View v) {
v.getLocationOnScreen(values);
switch (v.getId()) {
case R.id.IV:
BitmapDrawable BMD = (BitmapDrawable)IV.getDrawable();
bm = BMD.getBitmap();
ob = new BitmapDrawable(getResources(), bm);
JniBitmap.floodFill(bm,x,y,Color.GREEN,0);
IV.setBackgroundDrawable(ob);
Toast.makeText(this, x+" "+y, Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
@
override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@
override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
[/PHP]