問題タブ [bitmapdata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
820 参照

actionscript-3 - 円形colorTransform

長方形ではなく円のBitmapDataにcolorTransformを適用する方法はありますか?

以下のコードのようにアルファチャネルを減らして画像の長方形の部分を消去するのではなく、円を描くようにしたいと思います。

ピクセルをループし、アルファ値を抽出し、setPixelを使用するコードがいくつかありますが、シームはcolorTransform関数よりも大幅に遅くなります。

0 投票する
1 に答える
1608 参照

flash - アクションスクリプトでマスキングの透明度を維持しながら、マスクされたビットマップをコピーするにはどうすればよいですか?

マスクされたビットマップをコピーする方法を見つける必要があります。ステージ上にビットマップがあり、マスクとして機能するユーザー描画のスプライトがあります。マスクされた領域のビットマップをキャプチャ/コピーし、マスキングによって作成された透明度を維持して、最終的にpngとしてエンコードする必要があります。

copyPixels()やその他の指示を使用してこれを実現する方法に関するドキュメントは見つかりませんでした。

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

b

0 投票する
1 に答える
1627 参照

actionscript-3 - AS3のBitmapDataへのPDF読み取りページ

私はフラッシュ AS3 でプロジェクトを開始しています。私の目的は、PDF ファイルをフラッシュ プロジェクトにロードし、そのすべてのページを BitmapData に変換することです...

私はbyteArrayに精通しており、pdfにバイナリレベルでアクセスする必要があることは知っていますが、どこから始めてどのように始めればよいかわかりません。

あなたが私にいくつかの洞察を与えることができればと思っていましたか?同様の作業を行っている既存のライブラリへの提案でしょうか?

私を始めるためだけに、どんなアイデアでも大歓迎です...

0 投票する
3 に答える
2387 参照

apache-flex - Flex - ビットマップを取得

ActionScript を使用してコンポーネントからビットマップ データを取得することはできますか?

画像を動的に読み込みます。onComplete Flex Image コンポーネントを作成し、ロードしたイメージをソースに追加します

後で、新しい Image コンポーネントを作成し、最初の Image から bitmapData を取得したいと考えています。

私はこれを試しました

これで画像が得られるようですが、ビットマップデータを取得する方法がわかりません。

「...未定義のプロパティ」というコンパイルエラーが表示されます

新しい画像コンポーネントで使用できるように、ビットマップデータを取得する方法を知っている人はいますか?

前もって感謝します、

ラン

0 投票する
1 に答える
678 参照

winapi - HBITMAP がメモリをほとんど使用しないのはなぜですか?

興味深い質問に出会いました:

  1. 大きな(4500x6000)jpegをlibjpegでメモリ(RGBRGBRGB ....)にロードします(約200Mのメモリが必要です)
  2. データから HBITMAP を作成する CreateDIBitmap()
  3. 使用中のメモリを解放する

今では、プロセスが 5M のメモリしか使用していないことがわかりました。HBITMAP のデータはどこにあるのだろうか。(ページファイルを無効にします)


アップデート:

私はテストのためにそのようなコードを書きます:

次に、データは0x2d0000(確かにユーザー空間にあります)で、bitmap.bmBitsも0x2d0000です。そのため、CreateDIBSection がビットマップにユーザー空間メモリを使用するようにします。

0 投票する
4 に答える
1883 参照

flash - 回転したビットマップを正確に描画するにはどうすればよいですか?

マスクされたビットマップを含むコンテナがあります。このコンテナーのスケールと回転は実行時に変更され、マスクされたビットマップを描画する必要がありますが、適切なマトリックス計算を行うことができません。

私のコードは、回転せずにセンタリングするための位置、スケール、オフセットを反映するように正しく機能します。回転すると、角度は正しいのですが、配置が正しくありません。長方形を回転すると寸法が変わるためだと思います。

誰かがポジショニングでこれを補う方法を理解するのを手伝ってもらえますか-ここにいくつかのコードがあります:

あなたが提供できる助けを前もって感謝します -

b

編集: これを正しく説明していない場合は申し訳ありません。サポートする画像でもう一度試してください。新しいビットマップを描画するためのソースとして使用しているコンテナーに、マスクされたビットマップがあります。このコンテナは、キャプチャする前にユーザーが実行時にスケーリング/回転できます。これを達成するために、描画メソッドにコンテナー マトリックスに基づく変換マトリックスを渡し、tx 値と ty 値を調整してゼロ以外の原点 (センタリングによる) を考慮します。この時点までは問題なく動作し、私が期待するものをキャプチャします.

ただし、このコンテナが回転すると、キャプチャの POSITION が再びオフになります。これは、寸法の変更が原因であると考えられます。したがって、コンテナの新しい寸法に対して tx/ty オフセットが正しくなくなります。これを補う必要があるだけですが、方法がわかりません。

誰でも役立つ変換マトリックスの経験がありますか?? ありがとうございます!

imgur.comが主催

imgur.comが主催

0 投票する
2 に答える
1321 参照

flash - Flash: max( channel ) を介して 2 つの BitmapData オブジェクトを組み合わせる

アルファ チャネルを持つ 2 つの BitmapData オブジェクトがあります。アルファを含む各チャネルに max(channel_image_one, channel_image_two) を使用して、それらを 1 つに結合したいと思います。この結果を達成する簡単な方法はありますか?

0 投票する
1 に答える
309 参照

actionscript-3 - ムービークリップの色を置き換えるにはどうすればよいですか?

キャラクターのムービークリップを撮って服の色を変えようとしています。文字はベクトルで構成されています。

これまでのところ、私はこの方法を半成功的に使用しています。

  1. ムービークリップを停止
  2. 現在のフレームからビットマップ データを取得する
  3. しきい値を使用して色を置き換えます
  4. 結果のビットマップ データを配列に格納する
  5. onenterframe 関数を追加 - 現在のフレームをクリアし、配列内の処理済みデータからビットマップ データを追加します。

だから - これはかなりうまくいきます。各フレームは最初に 1 回だけ処理され、ムービークリップへの書き込みは非常に高速です。

でも!置換はビットマップで実行されるため、ジャギー/ピクセレーションを除去するために発生するエイリアシングの量があります。これにより、しきい値を使用して一致しない色が生成されます。したがって、メインの色は正しく置き換えられますが、混合色のハローに囲まれています:(

これを行うためのより良い方法があるはずです。どんなアイデアや答えでも大歓迎です - ありがとう。

0 投票する
3 に答える
4145 参照

apache-flex - Flex:ロードされた画像のbitmapDataを別のSWFLoaderにコピーする

私はそのような2つのSWFLoaderを持っています:

ここにあるすべては、1つの小さなことを除いて、期待どおりに機能します。

サイズ100x100の画像をldr_src(10x10)にロードします。ビットマップはldr_targetにコピーされますが、予期しない結果になります。ロードされた画像の10x10サイズがコピーされると思いました。代わりに、ロードされた画像の(0,0)から(10,10)までのビットマップがターゲットにコピーされます。

画像の実際のサイズに関係なく、swfLoaderによって縮小されたサイズのbitmapDataをコピーするにはどうすればよいですか?