Note that there are some explanatory texts on larger screens.

plurals
  1. POGetting Pixel Colour in Android from an imported image from gallery?
    primarykey
    data
    text
    <p>The problem of this code is,it only gets the colour value for all of the picture not for the place the user clicks/touches! there must be a simple problem, i believe! Here's the code, let's see what you can get! ;)</p> <pre><code>import java.io.FileNotFoundException; import java.util.Locale; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.net.Uri; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech.OnInitListener; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class MPActivity extends Activity { private TextToSpeech mTts; private ImageView targetImage; private TextView textView; private TextView textViewCol; private TextView textViewVal; private boolean hasTTSBeenInitialized = false; private int imageWidth; private int imageHeight; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button buttonLoadImage = (Button)findViewById(R.id.loadimage); textView = (TextView) findViewById(R.id.textView); textViewCol = (TextView) findViewById(R.id.textViewColor); targetImage = (ImageView) findViewById(R.id.targetimage); textViewVal = (TextView) findViewById(R.id.textViewValue); targetImage = (ImageView)findViewById(R.id.targetimage); buttonLoadImage.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(intent, 0); }}); mTts = new TextToSpeech(this, new OnInitListener() { @Override public void onInit(int status) { hasTTSBeenInitialized = true; } }); mTts.setLanguage(Locale.US); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK){ Uri targetUri = data.getData(); Bitmap bitmap; try { bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri)); //w2,h2 imageWidth = bitmap.getWidth(); imageHeight = bitmap.getHeight(); targetImage.setImageBitmap(bitmap); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } targetImage.setOnTouchListener(new ImageView.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub int x = ((int)event.getX() / v.getWidth() ) * imageWidth; int y = ((int)event.getY() / v.getHeight()) * imageHeight; textView.setText("Touch coordinates : "+String.valueOf(event.getX())+"x"+String.valueOf(event.getY())); ImageView imageView = ((ImageView)v); Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); // Calculation -&gt; x, y - image space int pixel = bitmap.getPixel(x,y); textViewVal.setText("[" + Color.red(pixel) + "," + Color.green(pixel) + "," + Color.blue(pixel) + "]"); if ((Color.red(pixel) &gt; 200) &amp;&amp; (Color.blue(pixel) &lt; 10) &amp;&amp; (Color.green(pixel) &lt; 10)) { if(hasTTSBeenInitialized){ mTts.speak("Color is RED", TextToSpeech.QUEUE_FLUSH, null); } textViewCol.setText("Color is Red."); } return true; } }); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload