當前位置: 首頁>>代碼示例>>Java>>正文


Java ColorMatrix.setRotate方法代碼示例

本文整理匯總了Java中android.graphics.ColorMatrix.setRotate方法的典型用法代碼示例。如果您正苦於以下問題:Java ColorMatrix.setRotate方法的具體用法?Java ColorMatrix.setRotate怎麽用?Java ColorMatrix.setRotate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.graphics.ColorMatrix的用法示例。


在下文中一共展示了ColorMatrix.setRotate方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: rotateColor

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
private int rotateColor(int color, float rad) {
    float deg = rad * 180 / 3.1415927f;
    int r = Color.red(color);
    int g = Color.green(color);
    int b = Color.blue(color);

    ColorMatrix cm = new ColorMatrix();
    ColorMatrix tmp = new ColorMatrix();

    cm.setRGB2YUV();
    tmp.setRotate(0, deg);
    cm.postConcat(tmp);
    tmp.setYUV2RGB();
    cm.postConcat(tmp);

    final float[] a = cm.getArray();

    int ir = floatToByte(a[0] * r + a[1] * g + a[2] * b);
    int ig = floatToByte(a[5] * r + a[6] * g + a[7] * b);
    int ib = floatToByte(a[10] * r + a[11] * g + a[12] * b);

    return Color.argb(Color.alpha(color), pinToByte(ir),
            pinToByte(ig), pinToByte(ib));
}
 
開發者ID:Edward-Yung,項目名稱:Mu-Retargeter-1.0,代碼行數:25,代碼來源:ColorPickerDialog.java

示例2: hue

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 色相處理
 *
 * @param bitmap   原圖
 * @param hueValue 新的色相值
 * @return 改變了色相值之後的圖片
 */
public static Bitmap hue(Bitmap bitmap, int hueValue) {
    // 計算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;
    // 創建一個顏色矩陣
    ColorMatrix hueColorMatrix = new ColorMatrix();
    // 控製讓紅色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(0, newHueValue);
    // 控製讓綠紅色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(1, newHueValue);
    // 控製讓藍色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(2, newHueValue);
    // 創建一個畫筆並設置其顏色過濾器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(hueColorMatrix));
    // 創建一個新的圖片並創建畫布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 將原圖使用給定的畫筆畫到畫布上
    canvas.drawBitmap(bitmap, 0, 0, paint);
    return newBitmap;
}
 
開發者ID:youth5201314,項目名稱:XFrame,代碼行數:30,代碼來源:XBitmapUtils.java

示例3: hue

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 色相處理
 *
 * @param bitmap   原圖
 * @param hueValue 新的色相值
 * @return 改變了色相值之後的圖片
 */
public static Bitmap hue(Bitmap bitmap, int hueValue) {
    // 計算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;
    // 創建一個顏色矩陣
    ColorMatrix hueColorMatrix = new ColorMatrix();
    // 控製讓紅色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(0, newHueValue);
    // 控製讓綠紅色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(1, newHueValue);
    // 控製讓藍色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(2, newHueValue);
    // 創建一個畫筆並設置其顏色過濾器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(hueColorMatrix));
    // 創建一個新的圖片並創建畫布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 將原圖使用給定的畫筆畫到畫布上
    canvas.drawBitmap(bitmap, 0, 0, paint);
    return newBitmap;
}
 
開發者ID:venshine,項目名稱:AndroidCommon,代碼行數:30,代碼來源:BitmapUtils.java

示例4: hue

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 色相處理
 *
 * @param bitmap 原圖
 * @param hueValue 新的色相值
 * @return 改變了色相值之後的圖片
 */
public static Bitmap hue(Bitmap bitmap, int hueValue) {
    // 計算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;
    // 創建一個顏色矩陣
    ColorMatrix hueColorMatrix = new ColorMatrix();
    // 控製讓紅色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(0, newHueValue);
    // 控製讓綠紅色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(1, newHueValue);
    // 控製讓藍色區在色輪上旋轉的角度
    hueColorMatrix.setRotate(2, newHueValue);
    // 創建一個畫筆並設置其顏色過濾器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(hueColorMatrix));
    // 創建一個新的圖片並創建畫布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 將原圖使用給定的畫筆畫到畫布上
    canvas.drawBitmap(bitmap, 0, 0, paint);
    return newBitmap;
}
 
開發者ID:drakeet,項目名稱:Lunei,代碼行數:30,代碼來源:BitmapUtil.java

示例5: rotateColor

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
private int rotateColor(int color, float rad) {
	float deg = rad * 180 / 3.1415927f;
	int r = Color.red(color);
	int g = Color.green(color);
	int b = Color.blue(color);

	ColorMatrix cm = new ColorMatrix();
	ColorMatrix tmp = new ColorMatrix();

	cm.setRGB2YUV();
	tmp.setRotate(0, deg);
	cm.postConcat(tmp);
	tmp.setYUV2RGB();
	cm.postConcat(tmp);

	final float[] a = cm.getArray();

	int ir = floatToByte(a[0] * r + a[1] * g + a[2] * b);
	int ig = floatToByte(a[5] * r + a[6] * g + a[7] * b);
	int ib = floatToByte(a[10] * r + a[11] * g + a[12] * b);

	return Color.argb(Color.alpha(color), pinToByte(ir), pinToByte(ig),
			pinToByte(ib));
}
 
開發者ID:iOffice1,項目名稱:iOffice,代碼行數:25,代碼來源:ColorPickerView.java

示例6: handleImageEffect

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 調整照片的色調,飽和度,亮度
 * MID_VALUE = 177; // 進度條的中間值
 * @param bm 原圖
 * @param hue 色調 = (進度條進度 - MID_VALUE) * 1.0F / MIN_VALUE * 180
 * @param saturation 飽和度 = 進度條進度 * 1.0F / MIN_VALUE;
 * @param lum 亮度 = 進度條進度 * 1.0F / MIN_VALUE;
 * @return 調整後的圖片
 */
public static Bitmap handleImageEffect(Bitmap bm, int hue, int saturation, int lum) {
    Bitmap bitmap = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

    ColorMatrix hueMatrix = new ColorMatrix();
    hueMatrix.setRotate(0,hue);
    hueMatrix.setRotate(1,hue);
    hueMatrix.setRotate(2, hue);

    ColorMatrix saturationMatrix = new ColorMatrix();
    saturationMatrix.setSaturation(saturation);

    ColorMatrix lumMatrix = new ColorMatrix();
    lumMatrix.setScale(lum,lum,lum,1);

    ColorMatrix imageMatrix = new ColorMatrix();
    imageMatrix.postConcat(hueMatrix);
    imageMatrix.postConcat(saturationMatrix);
    imageMatrix.postConcat(lumMatrix);

    paint.setColorFilter(new ColorMatrixColorFilter(imageMatrix));
    canvas.drawBitmap(bm,0,0,paint);
    return bitmap;
}
 
開發者ID:lujianzhao,項目名稱:AndroidBase,代碼行數:35,代碼來源:ImageUtils.java

示例7: rotateColor

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
@SuppressWarnings("unused")
private int rotateColor(int color, float rad) {
          float deg = rad * 180 / 3.1415927f;
          int r = Color.red(color);
          int g = Color.green(color);
          int b = Color.blue(color);

          ColorMatrix cm = new ColorMatrix();
          ColorMatrix tmp = new ColorMatrix();

          cm.setRGB2YUV();
          tmp.setRotate(0, deg);
          cm.postConcat(tmp);
          tmp.setYUV2RGB();
          cm.postConcat(tmp);

          final float[] a = cm.getArray();

          int ir = floatToByte(a[0] * r +  a[1] * g +  a[2] * b);
          int ig = floatToByte(a[5] * r +  a[6] * g +  a[7] * b);
          int ib = floatToByte(a[10] * r + a[11] * g + a[12] * b);

          return Color.argb(alpha, pinToByte(ir),
                            pinToByte(ig), pinToByte(ib));
      }
 
開發者ID:FAIMS,項目名稱:faims-android,代碼行數:26,代碼來源:ColorPickerDialog.java

示例8: lumAndHueAndSaturation

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 亮度、色相、飽和度處理
 *
 * @param bitmap          原圖
 * @param lumValue        亮度值
 * @param hueValue        色相值
 * @param saturationValue 飽和度值
 * @return 亮度、色相、飽和度處理後的圖片
 */
public static Bitmap lumAndHueAndSaturation(Bitmap bitmap, int lumValue,
                                            int hueValue, int saturationValue) {
    // 計算出符合要求的飽和度值
    float newSaturationValue = saturationValue * 1.0F / 127;
    // 計算出符合要求的亮度值
    float newlumValue = lumValue * 1.0F / 127;
    // 計算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;

    // 創建一個顏色矩陣並設置其飽和度
    ColorMatrix colorMatrix = new ColorMatrix();

    // 設置飽和度值
    colorMatrix.setSaturation(newSaturationValue);
    // 設置亮度值
    colorMatrix.setScale(newlumValue, newlumValue, newlumValue, 1);
    // 控製讓紅色區在色輪上旋轉的角度
    colorMatrix.setRotate(0, newHueValue);
    // 控製讓綠紅色區在色輪上旋轉的角度
    colorMatrix.setRotate(1, newHueValue);
    // 控製讓藍色區在色輪上旋轉的角度
    colorMatrix.setRotate(2, newHueValue);

    // 創建一個畫筆並設置其顏色過濾器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
    // 創建一個新的圖片並創建畫布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 將原圖使用給定的畫筆畫到畫布上
    canvas.drawBitmap(bitmap, 0, 0, paint);
    return newBitmap;
}
 
開發者ID:youth5201314,項目名稱:XFrame,代碼行數:44,代碼來源:XBitmapUtils.java

示例9: handleImageEffect

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 顏色效果
 */
public static Bitmap handleImageEffect(Bitmap bm, float hue, float saturation, float lum) {
  Bitmap bmp = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Bitmap.Config.ARGB_8888);
  Canvas canvas = new Canvas(bmp);
  Paint paint = new Paint();

  //色調
  ColorMatrix hueMatrix = new ColorMatrix();
  hueMatrix.setRotate(0, hue); //Red
  hueMatrix.setRotate(1, hue); //Green
  hueMatrix.setRotate(2, hue); //Blue

  //飽和度
  ColorMatrix saturationMatrix = new ColorMatrix();
  saturationMatrix.setSaturation(saturation);

  //亮度
  ColorMatrix lumMatrix = new ColorMatrix();
  lumMatrix.setScale(lum, lum, lum, 1);

  ColorMatrix imageMatrix = new ColorMatrix();
  imageMatrix.postConcat(hueMatrix);
  imageMatrix.postConcat(saturationMatrix);
  imageMatrix.postConcat(lumMatrix);

  paint.setColorFilter(new ColorMatrixColorFilter(imageMatrix));
  canvas.drawBitmap(bm, 0, 0, paint);
  return bmp;
}
 
開發者ID:liuguoquan727,項目名稱:android-study,代碼行數:32,代碼來源:ImageHelper.java

示例10: lumAndHueAndSaturation

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 亮度、色相、飽和度處理
 *
 * @param bitmap          原圖
 * @param lumValue        亮度值
 * @param hueValue        色相值
 * @param saturationValue 飽和度值
 * @return 亮度、色相、飽和度處理後的圖片
 */
public static Bitmap lumAndHueAndSaturation(Bitmap bitmap, int lumValue,
                                            int hueValue, int saturationValue) {
    // 計算出符合要求的飽和度值
    float newSaturationValue = saturationValue * 1.0F / 127;
    // 計算出符合要求的亮度值
    float newlumValue = lumValue * 1.0F / 127;
    // 計算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;

    // 創建一個顏色矩陣並設置其飽和度
    ColorMatrix colorMatrix = new ColorMatrix();

    // 設置飽和度值
    colorMatrix.setSaturation(newSaturationValue);
    // 設置亮度值
    colorMatrix.setScale(newlumValue, newlumValue, newlumValue, 1);
    // 控製讓紅色區在色輪上旋轉的角度
    colorMatrix.setRotate(0, newHueValue);
    // 控製讓綠紅色區在色輪上旋轉的角度
    colorMatrix.setRotate(1, newHueValue);
    // 控製讓藍色區在色輪上旋轉的角度
    colorMatrix.setRotate(2, newHueValue);

    // 創建一個畫筆並設置其顏色過濾器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
    // 創建一個新的圖片並創建畫布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 將原圖使用給定的畫筆畫到畫布上
    canvas.drawBitmap(bitmap, 0, 0, paint);
    return newBitmap;
}
 
開發者ID:venshine,項目名稱:AndroidCommon,代碼行數:44,代碼來源:BitmapUtils.java

示例11: lumAndHueAndSaturation

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 亮度、色相、飽和度處理
 *
 * @param bitmap 原圖
 * @param lumValue 亮度值
 * @param hueValue 色相值
 * @param saturationValue 飽和度值
 * @return 亮度、色相、飽和度處理後的圖片
 */
public static Bitmap lumAndHueAndSaturation(Bitmap bitmap, int lumValue, int hueValue, int saturationValue) {
    // 計算出符合要求的飽和度值
    float newSaturationValue = saturationValue * 1.0F / 127;
    // 計算出符合要求的亮度值
    float newlumValue = lumValue * 1.0F / 127;
    // 計算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;

    // 創建一個顏色矩陣並設置其飽和度
    ColorMatrix colorMatrix = new ColorMatrix();

    // 設置飽和度值
    colorMatrix.setSaturation(newSaturationValue);
    // 設置亮度值
    colorMatrix.setScale(newlumValue, newlumValue, newlumValue, 1);
    // 控製讓紅色區在色輪上旋轉的角度
    colorMatrix.setRotate(0, newHueValue);
    // 控製讓綠紅色區在色輪上旋轉的角度
    colorMatrix.setRotate(1, newHueValue);
    // 控製讓藍色區在色輪上旋轉的角度
    colorMatrix.setRotate(2, newHueValue);

    // 創建一個畫筆並設置其顏色過濾器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
    // 創建一個新的圖片並創建畫布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 將原圖使用給定的畫筆畫到畫布上
    canvas.drawBitmap(bitmap, 0, 0, paint);
    return newBitmap;
}
 
開發者ID:drakeet,項目名稱:Lunei,代碼行數:43,代碼來源:BitmapUtil.java

示例12: handleImageMatrix

import android.graphics.ColorMatrix; //導入方法依賴的package包/類
/**
 * 根據具體給定的bitmap,色調 飽和度及亮度生成新的bitmap
 *
 * @param tone 色調
 * @param saturation 飽和度
 * @param lum 亮度
 * @return new bitmap
 */
public static Bitmap handleImageMatrix(Bitmap bm, float tone, float saturation, float lum) {
    Bitmap bitmap = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    Paint paint = new Paint();

    // 色調
    ColorMatrix toneMatrix = new ColorMatrix();
    toneMatrix.setRotate(0, tone);
    toneMatrix.setRotate(1, tone);
    toneMatrix.setRotate(2, tone);

    // 飽和度
    ColorMatrix saturationMatrix = new ColorMatrix();
    saturationMatrix.setSaturation(saturation);

    // 亮度
    ColorMatrix lumMatrix = new ColorMatrix();
    lumMatrix.setScale(lum, lum, lum, 1);

    ColorMatrix imageMatrix = new ColorMatrix();
    imageMatrix.postConcat(toneMatrix);
    imageMatrix.postConcat(saturationMatrix);
    imageMatrix.postConcat(lumMatrix);

    paint.setColorFilter(new ColorMatrixColorFilter(imageMatrix));
    canvas.drawBitmap(bm, 0, 0, paint);
    return bitmap;
}
 
開發者ID:sunxu3074,項目名稱:imooc-practice-android,代碼行數:37,代碼來源:ImageUtils.java


注:本文中的android.graphics.ColorMatrix.setRotate方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。