Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.

Bitmap set contrast and brightness Android example



////www.apache.org/licenses/LICENSE-2.0
        private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        private ColorMatrix mCM = new ColorMatrix();
        private Bitmap mBitmap;
        private float mSaturation;
        private float mAngle;
//..........
mBitmap = BitmapFactory.decodeResource(context.getResources(),
                                                   R.drawable.my_image);
//..........
        private static void setContrastScaleOnly(ColorMatrix cm, float contrast) {
            float scale = contrast + 1.f;
               float translate = (-.5f * scale + .5f) * 255.f;
            cm.set(new float[] {
                   scale, 0, 0, 0, 0,
                   0, scale, 0, 0, 0,
                   0, 0, scale, 0, 0,
                   0, 0, 0, 1, 0 });
        }
       private static void setContrast(ColorMatrix cm, float contrast) {
            float scale = contrast + 1.f;
               float translate = (-.5f * scale + .5f) * 255.f;
            cm.set(new float[] {
                   scale, 0, 0, 0, translate,
                   0, scale, 0, 0, translate,
                   0, 0, scale, 0, translate,
                   0, 0, 0, 1, 0 });
        }
        
        private static void setContrastTranslateOnly(ColorMatrix cm, float contrast) {
            float scale = contrast + 1.f;
               float translate = (-.5f * scale + .5f) * 255.f;
            cm.set(new float[] {
                   1, 0, 0, 0, translate,
                   0, 1, 0, 0, translate,
                   0, 0, 1, 0, translate,
                   0, 0, 0, 1, 0 });
        }

       @Override protected void onDraw(Canvas canvas) {
            Paint paint = mPaint;
            float x = 20;
            float y = 20;
            
            canvas.drawColor(Color.WHITE);
            
            paint.setColorFilter(null);
            canvas.drawBitmap(mBitmap, x, y, paint);
            
            ColorMatrix cm = new ColorMatrix();
            
            mAngle += 2;
            if (mAngle > 180) {
                mAngle = 0;
            }
            
            //convert our animated angle [-180...180] to a contrast value of [-1..1]
            float contrast = mAngle / 180.f;
            
            setContrast(cm, contrast);
            paint.setColorFilter(new ColorMatrixColorFilter(cm));
            canvas.drawBitmap(mBitmap, x + mBitmap.getWidth() + 10, y, paint);
            
            setContrastScaleOnly(cm, contrast);
            paint.setColorFilter(new ColorMatrixColorFilter(cm));
            canvas.drawBitmap(mBitmap, x, y + mBitmap.getHeight() + 10, paint);
            
            setContrastTranslateOnly(cm, contrast);
            paint.setColorFilter(new ColorMatrixColorFilter(cm));
            canvas.drawBitmap(mBitmap, x, y + 2*(mBitmap.getHeight() + 10),
                              paint);
            
            invalidate();
        }
    }


397LW NO topic_id



Další témata ....(Topics)


270

setTesting(boolean) from the type AdRequest is deprecated | settestingboolean-from-the-type-adrequest-is-deprecated


Admob testing on emulator issue.
Android Eclipse code warning:
setTesting(boolean) from the type AdRequest is deprecated
Solution:
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);


AdView adView = new AdView(this, AdSize.BANNER, "a14d9..........");//MY_AD_UNIT_ID
AdRequest adRequest = new AdRequest();
		adRequest.setTesting(true); // deprecated

		adRequest.addTestDevice(AdRequest.TEST_EMULATOR); // OK
		adView.loadAd(adRequest);

37

LayoutLib is too recent. Update your tool Eclipse Android | layoutlib-is-too-recent-update-your-tool-eclipse-android


LayoutLib is too recent. Update your tool!
Eclipse Android Graphical layout resolving problem.


  1. Open in Eclipse menu Help ->Check for Updates

  2. Select updates: [caption id="attachment_593" width="300" caption="Android Eclipse updates dialog"]android-eclipse-updates[/caption]


  3. Press Next and update all


  4. Restart Eclipse


  5. [caption id="attachment_596" align="alignleft" width="300" caption="Restart Eclipse if updates finished."]layoutlib-is-too-recent-update-your-tool[/caption]






234

goto statement in Java | goto-statement-in-java


You can use for, do while, while cycle for example:

public void myFunction(){
 for (int i = 0; i < 1; i++) {
	// some code
       int c = 10;
       if(c==10)
         break; // goto stop; in C++
 } // end of for
 // stop: // break moved process to end of for
 


 // next code

}


351

Android Studio bug versioncode versionname signed apk issue | android-studio-bug-versioncode-versionname-signed-apk-issue


If you change android:versionCode="224" and android:versionName="2.2.4" in AndroidManifest.xml you have to change this in build.gradle file too.
Click on build.gradle in package explorer tree change your new version name and code:


  defaultConfig {
        applicationId "cz.okhelp.pocasiwidget"
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 224
        versionName "2.2.4"
    }
391

Expected resource of type raw drawable | expected-resource-of-type-raw-drawable


Try insert + before R.drawable.xxxx

// error
InputStream is = context.getResources().openRawResource(R.drawable.app_sample_code);

// ok
InputStream is = context.getResources().openRawResource(+R.drawable.app_sample_code);



Editace: 2013-12-09 13:12:23
Počet článků v kategorii: 397
Url:bitmap-set-contrast-and-brightness-android
Share
Share
Tweet