11

本当に気に入ったグラデーションがありますが、XMLドローアブルを使用して作成しました。

<gradient
    android:startColor="#DD181C18"
    android:endColor="#809C7D5A"
    android:angle="90"/>

これをpngなどに作成する簡単な方法は何でしょうか?

私が本当に探しているのは、入力アルファ/カラーとしてフォーマット を使用してグラデーションを作成するためのツールとそのツールを使用した指示です#aarrggbb(90度の角度、一般的には角度がプラスになります)。

助けてくれてありがとう。

編集:D'oh!私はImageMagickがこれを行うことができるはずだと完全に気づきました。誰かが私を打ち負かして賞金を全部受け取りたいと思わない限り、私はすぐに私の答えであるコードを投稿します!

4

4 に答える 4

4

結局、それはImageMagickを使用したワンライナーでした!

以前にImageMagickを使用することを考えていなかったなんて信じられません。

convert -size 480x84 gradient:'rgba(156, 125, 90, 0.52)'-'rgba(24, 28, 24, 0.86)' tmp.png

参考までに、これを使用して、AndroidXMLドローアブル##AARRGGBB値を使用して.png画像ファイルを作成しました。ImageMagick FTW !!!

皆様のご意見ありがとうございました。

于 2011-12-29T11:25:03.983 に答える
3

photoshopやpaint.Netなどのプログラムを使用します。どちらにもグラデーションツールがあり、同じ形式で色を設定できるはずです。

于 2011-12-15T12:27:21.743 に答える
2

これを試してみてください:

try {
    item.setDrawingCacheEnabled(true);
    Bitmap bmp = item.getDrawingCache();
    FileOutputStream out = new FileOutputStream(filename);
    bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
    e.printStackTrace();
}

これが私itemがレンダリングしたいビュー/ビューグループです。

私は実際に同じフラグメント(ファイルの書き込みを除く)を画面レンダリングの一部に使用していますが、透明性が保たれているようです。

色についての注意:

Androidでは、16進値を使用して色を指定できます。パターン内のカラー値ごとに1バイト(8ビット)が使用可能ですARGB(合計32ビット)。をA表し、Alphaを表しRRedG表します。各コンポーネントは、(0、255)の間の値を持つことができます。ご了承ください:GreenBBlue

decimal 0   = hex 0x00
decimal 255 = hex 0xFF

したがって、不透明な「アルファ#FFFFFFFF#FF000000 (no transparency) you would use#FF808080 80 80 」の白い色が必要な場合は、グレーの中央値が得られます。. For Black. For Grey.is hex value of decimal 128 and gives you half of full intensity white. so

16進演算を使用して、10進数の色の値を取得します。

AFAIK、放射状グラデーションの角度は何の違いもありません。これらすべてをGIMPで試すか、GIMPチュートリアルを読んでください。可能であれば、引き続きPhotoshopを使用することをお勧めします(90日間の試用版が利用可能)。

于 2011-12-16T19:07:50.440 に答える
1

グラデーションだけを背景として、画面上には何も表示しないアクティビティを作成することもできます。

エミュレーターまたはデバイスでアプリを実行し、DDMSを使用して画面キャプチャを取得します。次に、適切にレンダリングされたPNGを保存し、使用しているエミュレーターの画面サイズを変更することで、任意のサイズを作成できます。

XMLは次のようになります。

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/your_gradient">
</LinearLayout>
于 2011-12-15T12:50:24.907 に答える