androidのレイアウトに枠線は無い(と思う)。 LinearLayoutを重ねるのはアホなので背景に枠線を書き加えることにした。 /** * @param vg * 枠線を設定するViewGroup * @param width * LinearLayoutに設定するwidth * @param height * LinearLayoutに設定するheight * @param line_width * @throws Exception */ public static void setFrame(LinearLayout ll, Integer width, Integer height, Integer line_width) throws Exception { Drawable background = ll.getBackground(); Bitmap bmp; if(b
2012年01月03日19:07 カテゴリAndroidプログラム Bitmap.createBitmapは等倍だと、参照を返したり あけましておめでとうございます。 新年一発目は、Android記事からです… またいつも通り、コミケにAZを持っていって、宣伝画像を流したんですが、それは、以前のものを改良して、文字が表示できるようにしたバージョンです。 これで、「こうしたかった」という、本来あるべき姿にやっとなったといった感じです。 こんな感じで、画面上に文字が表示され、その文字は、ニコ動よろしく、流れていきます。 で、その宣伝画像を作って、最新版にその画像データを入れて動かすと、 01-03 09:03:56.662: ERROR/AndroidRuntime(302): FATAL EXCEPTION: main java.lang.RuntimeException: Canvas:
Original Caching Bitmaps | Android Developers 追記(20120823):やんざむさんが補足付きで解説してます。->Y.A.M の 雑記帳: Android Bitmap をキャッシュする Bitmapのキャッシュ このレッスンでは次の項目を扱います メモリキャッシュを使う ディスクキャッシュを使う 構成の変化を扱う これらも読むとよいでしょう Handling Runtime Changes 実際に試してみる サンプルのダウンロード - BitmapFun.zip ひとつのビットマップをUIに読み込むのは簡単ですが、もしあなたがたくさんの画像を一度に必要としている場合、複雑なことになります。 多くの場合(例えばListView,GridViewやViewPagerといったコンポーネントとともに使用する場合など)、画面に組み合わされてすぐに画
抽象クラスDrawableを継承したクラスを使って、図形を描画する事もでできます。 Drawableクラスを継承したクラスには様々なものがあり、正直なところ、把握しきれていません。 ここでは、とりあえず、ShapeDrawableとBitmapDrawableを用いた図形の描画について、述べる事にします。 Drawableオブジェクトを使うと、図形をオブジェクトとして、どの図形も同じように、アクセスする事ができます。 例えば、どの図形も同じようにsetBoundsメソッドを使って、大きさを自由に伸縮できます。 ShapeDrawableとBitmapDrawable ShapeDrawableを使うと、Shapeクラスを継承したクラスの図形を描画する事ができます。 Shapeを継承したクラスには、以下のものがあります。 RectShape 矩形図形を示す。 RoundRectShape 角
ビットマップをBlurMaskFilterを使って描画してもボケない ドキュメントを見るとBlurMaskFilterというのがあるので、これを使うのだろうなとは思った。 CanvasにBitmapを描画する時にBlurMaskFilterをセットしたPaintを使うようだ。素直に書いてみるなら、こんな感じになるだろう。 Paint paint = new Paint(); paint.setColor(0xFFFF0000); paint.setMaskFilter(new BlurMaskFilter(15, Blur.NORMAL)); canvas.drawBitmap(bitmap, 0, 0, paint); しかし、これがまったくボケない_| ̄|○ こちらのページを見ると、少なくともベクターグラフィックスを描画する場合には思ったとおりにボケるようなのだけど・・・ About
Bitmapを使う時は結構あったのですが、まとめてなかったので少しBitmapの利用の仕方をまとめてみます。 はじめにbitmapの取得の方法をいくつか、うしろの方で、bitmapの使い方をいくつか紹介してます。 drawableの画像データを利用 自分でアプリ内に埋め込んだ画像の取得です。 Bitmap bitmap0 = BitmapFactory.decodeResource(getResources(),R.drawable.background); SDCARDからファイルを参照 bitmapに変換された状態で、java内部で利用する事になります。streamで読む場合はbyteなどになっていますが。 BitmapFactory.decodeFile("file:///***.jpg"); 画像をスライドショーとして表示する。画像のファイルを読み込む ギャラリーから参照 写真一覧
あるオブジェクトをArrayListごとファイルに保存したくなったので、試してみた。 1. インタフェースSerializableを実装する 2. シリアライズ出来ないフィールド変数にはtransientキーワードを付ける シリアライズ出来ないオブジェクトの宣言にtransientを付ければSerializableをimplementしていてもそのオブジェクトは無視されるようになる(Exceptionが出なくなる)一時的に使用するものに対して付けると良い 3. シリアライズ出来ないオブジェクトをなんとかしてシリアライズする 3-1. Bitmapをシリアライズする AndroidのBitmapはそのままだとシリアライズ出来ないので、compressメソッドを使用してbyte配列にする transient Bitmap mBitmap; private byte[] mBitmapArray
Immutableって‥ AndroidでBitmapにグラデーション等のフィルタを適用しようと思ったところ、ImmutableなBitmapを変換する箇所でメモリの問題にぶち当たったので調べてみました。 まずは例外を。BitmapFactory でオプションを与えずにデコードした場合、生成されるBitmapはImmutable(不変)になっています。 これを… Canvas canvas = new Canvas(bitmap); canvas.drawRect(...); なんかした場合、java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor と言われChaiMaxx ImmutableなBitmapがCanvasのコンストラクタ引数に設定されている(Canvasに設定=編集するのにI
URL(http://~)から動的に読み込む場合 1. (BufferedInputStream,ByteArrayOutputStream,BufferedOutputStreamなどで)読み込んだbyte配列をBitmapFactory.decodeByteArray()にセットしてBitmapを得、ImageView.setImageBitmap()にセットすれば表示できる 2. InputStream in = httpResponse.getEntity().getContent() とし、 BitmapFactory.decodeStream(in) にセットすれば表示できる httpResponse = dhc.execute(new HttpGet(imageURL)); if (httpResponse.getStatusLine().getStatusCode() ==
Android 画像合成 画像の合成(になるのかな…)は簡単です。 CanvasオブジェクトにBitmapインスタンスの画像をdrawしまくるだけです。 座標指定もできます。 1.Bitmapインスタンスを作成 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.original); // 合成元 Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.d1); // 合成素材1 Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.d2); // 合成素材2 2.Canvasインスタンスを作成 int width =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く