長方形の画像があるとします。次のようなスタイルを作りたいですか?イメージからサークルクリッパを作成する方法は?
Iは、影とグロス/輝き効果を境界線を追加し、円形に画像をクロッピング、意味します。これまでは、画像を切り抜くためにこのスニペットコードを試しただけです:Cropping circular area from bitmap in Androidしかしそれだけです。私はAndroidの残りのコンポーネントをどうやってやるのか分かりません。
長方形の画像があるとします。次のようなスタイルを作りたいですか?イメージからサークルクリッパを作成する方法は?
Iは、影とグロス/輝き効果を境界線を追加し、円形に画像をクロッピング、意味します。これまでは、画像を切り抜くためにこのスニペットコードを試しただけです:Cropping circular area from bitmap in Androidしかしそれだけです。私はAndroidの残りのコンポーネントをどうやってやるのか分かりません。
この効果を達成するための簡単な方法は、Canvas.drawCircle()
とBitmapShader
を使用することです:
BitmapShader s = new BitmapShader(myPhoto, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint p = new Paint();
p.setShader(s);
myCanvas.drawCircle(centerX, centerY, radius, p);
影を行うには、あなたがオフスクリーンに効果を引き出す場合は、単純に(これはのみ動作します塗料にPaint.setShadowLayer()
を呼び出しますBitmap
またはView
がソフトウェア層を使用する場合 - View.setLayerType()
- を呼び出して設定します)。
Paint.Style.STROKE
スタイル(Paint.setStyle()
を呼び出すことによって設定できる)を使用して、上に別の円を描くことによって、境界線を描くことができます。
最後に、あなたの最初の円の上に円形、楕円形またはPath
を描くことによって光沢を描くことができます。あなたのペイントにLinearGradient
シェーダを使用する必要があります。また、光沢をクリップする必要があります。次の2つの方法でこれを行うことができます:
Bitmap
、に全体の効果を描画している場合
Xfermode
new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)
に設定します。Canvas.clipPath()
を使用して円形のクリップを設定するだけです。これは、Android 4.3以降のハードウェアアクセラレーションでのみ機能することに注意してください。
私はラウンドコーナーの実装を投稿し、それがあなたを助けてくれることを願っています。http://stackoverflow.com/a/19858771/1294681 – VinceStyling