問題タブ [bit-depth]
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.
macos - コマンド ラインから PNG ファイルのビット深度を減らす
ディレクトリ ツリーを再帰的にトラバースし、そのツリー内のすべての PNG ファイルのビット深度を 24bpp から 16bpp に減らすには、CLI からどのコマンドまたは一連のコマンドを実行できますか? コマンドはアルファ レイヤーを保持する必要があり、PNG のファイル サイズを増加させてはなりません。実際には、減少させることが望ましいでしょう。
私は自由に使える OSX ベースのシステムを持っており、find
コマンドに精通しているので、適切な PNG ユーティリティ コマンドを見つけたいと思っています。
c# - ビットマップの色深度を確認するにはどうすればよいですか?
JPEG や TIFF などの画像ファイルのフォルダーを印刷するアプリケーションに取り組んでいます。通常、TIFF 画像は白黒 (1bpp) です。
画像を読み込んだ後、適切なプリンター (カラー プリンターまたは白黒プリンター) に画像を送信できるように、画像がカラーか白黒かグレースケールかを判断したいと考えています。
Bitmap
コンストラクターを使用しimage = new Bitmap(filename);
て画像をロードしています。
編集:ピクセル深度を確認する答えは、B&W に最適です。すべてのピクセルを反復せずに画像がグレースケールかどうかを確認するアイデアはありますか?
php - 特定のPNG画像ファイルのビット深度をPHPで取得するにはどうすればよいですか?
PHPコードでは、.png画像パスを指定して、その画像のビット深度を検出する必要があります。どうやってやるの?
getImageSize()を使用してbits
、以下のサンプルコードを読み取ろうとしましたが、24ビット/32ビットの画像の場合は常に「8」が返されます。
助けてください。
android - ビットマップと画面のビット深度の問題 (白は白ではない)
フォトショップからエクスポートされた、青い輝きのあるBluetoothアイコンを表す透明なPNG画像があります。
HTC Desire では、単純なイメージビューが作成され、PNG がビットマップとして使用されます。画像ビューの周囲の背景が白の場合、ニュアンスに違いがあります。背景が黒の場合、違いは隠されます。
ADB を使用してスクリーン キャプチャを実行すると、問題は見えなくなります。
考えられる原因: 画面は、ビットマップに使用されるものよりも高いビット深度レートを使用しています。例えば。RGB24 対 RGB16。そうすることで、画面はビットマップ エンコーディングで可能なよりも多くの白のニュアンスを持ちます。表示されると、ビットマップのピクセルは新しいビット深度要件に近似されますが、近似値が使用されるため、背景のニュアンスと適切に一致しません。例えば。RGB16->RGB24 は C24 = 255*C16/31 を意味します。
スクリーン キャプチャ ソフトウェアを使用すると、ビット深度はおそらくより狭いビット深度値 (RGB16) にダウンスケールされるため、すべてのニュアンスが融合し、より単純な 16 ビット カラーに近似されます。これが、問題を説明するために写真カメラを使用した理由です。
質問は、これを修正する方法ですか?
私はすでに次のようなパラメータでビットマップをロードしようとしました: resample.inPreferredConfig = Config.ARGB_8888; しかし、役に立たない。
GFX 効果 (シャドウ、グローなど) を含むアイコンなどの透明な画像を表示する必要があるだけです。グレースケール マスクも使用できれば幸いです (黒 => 白のマスクでピクセルの透明度を示しますが、その方法を見つけてください)。
御時間ありがとうございます!
compression - sox を使用して mp3 を圧縮する方法は?
一部の mp3 オーディオのファイル サイズを sox で縮小したいと考えています。ステレオを 1 チャンネル (つまりモノラル) に減らし、サンプル レートを下げ、ビット深度を下げることができると思います。ソックスにはそれができないようです。これは本当ですか、それとも正しく行いましたか?
c# - モノタッチで24ビット画像を8ビットに変換しますか?
24/48ビット画像から8ビット画像に画像を変換するためのリードツールを使用している画像処理ウィンドウアプリケーションがあります。
実験として、MonoTouchとC#を使用してアプリケーションをiPadに移植していますが、LeadToolsコンポーネントはMonotouchと互換性がありません。使用できる代替品はありますか?そうでない場合、24/48ビットの画像を8ビットに変換するにはどうすればよいですか?
android - どこでもRGBA_8888を使用しているにもかかわらず、カラーバンディングとグラデーションのあるアーティファクト
カラーバンディングは、さまざまなソリューションが提供されて以前に何度も議論されてきた問題の古い栗であることを認識しています(基本的に、全体で32ビットを使用するか、ディザリングを使用します)。実際、それほど前のことではありませんが、私はこれに関して自分自身のSOの質問をし、その後答えました。当時、私はその質問への回答に入れた解決策(これはに適用setFormat(PixelFormat.RGBA_8888)
され、の場合Window
もに適用される)が私のアプリケーションの問題を完全に解決したと思いました。少なくともこのソリューションは、当時私が開発していたデバイス(おそらくAndroid 2.2)でグラデーションを非常に見栄えよくしました。Holder
SurfaceView
現在、HTC One X(Android 4.0)とAsus Nexus 7(Android 4.1)を使用して開発しています。私がやろうとしたのは、の領域全体にグレーのグラデーションを適用することでしたSurfaceView
。包含Window
とHolder
が32ビットカラー用に構成されていることを確認したと思われますが、ひどいバンディングアーティファクトが発生します。実際、Nexus 7では、アーティファクトが動き回るのが見えます。これSurfaceView
は、もちろん継続的に描画しているものだけでなくView
、テスト目的でまったく同じグラデーションを描画するために一緒に追加した通常の場合にも発生します。もちろん、これらのアーティファクトが存在し、動き回っているように見える方法は、絶対にひどいように見えます。実際には、信号の弱いアナログTVを見るようなものです。両方View
まったく同じアーティファクトをSurfaceView
示し、一緒に動き回ります。
私の意図は、全体で32ビットを使用することであり、ディザリングは使用しないことです。私は、Window
Android4.0よりずっと前にデフォルトで32ビットだったという印象を受けています。に適用することRGBA_8888
で、SurfaceView
すべてが32ビットであると予想していたため、アーティファクトを回避できました。
RGBA_8888
SOについては、4.0/4.1プラットフォームではもはや効果がないように思われるという質問が他にもいくつかあることに注意してください。
これは私のNexus7のスクリーンショットView
で、上部とSurfaceView
下部に法線があり、どちらも同じグラデーションをに適用していCanvas
ます。もちろん、ディスプレイを見たときのようにアーティファクトは表示されないため、この画面グラブを表示することはおそらくかなり無意味です。ただし、ネクサスの画面ではバンディングが実際にひどく見えることを強調したいと思います。編集:実際、スクリーンショットにはアーティファクトがまったく表示されていません。Nexus 7で見ているアーティファクトは、均一なバンディングではありません。それは本質的にランダムに見えます。
上記を作成するために使用されるテストActivity
:
GooglePlayからDisplayTesterというアプリケーションをインストールしました。このアプリケーションを使用して、画面上にテストグラデーションを作成できます。グラデーションは完璧には見えませんが、私が達成できたものよりも少し良く見えます。それは、バンディングを防ぐために私ができるさらなる対策があるかどうか疑問に思います。
もう1つ注意すべき点は、DisplayTesterアプリケーションがNexusの画面が32ビットであることを報告していることです。
参考までに、ハードウェアアクセラレーションを明示的に有効にしています。私のSDKレベルは次のとおりです。
もう1つ気付いたのはActivity
、Holoの機能であると私が理解している、のデフォルトのグラデーション背景も非常に縞模様になっていることです。これもスクリーンショットにはまったく表示されません。また、Nexus 7では、2つのバンディングの動きに共感して、背景のバンディングが一時的に動き回っていることにも気づきましたViews
。Activity
デフォルトの「空」で完全に新しいAndroidプロジェクトを作成するとActivity
、NexusとHTC One Xの両方で厄介な縞模様のグラデーションの背景が表示されます。これは正常ですか?Activity
この黒/紫のグラデーションのデフォルトの背景は、ハードウェアアクセラレーションが有効になっている場合に必要なものであることを理解しています。ええと、ハードウェアアクセラレーションが有効になっているかどうかに関係なく、同じ厄介な縞模様が表示されますActivity
背景のグラデーション。これは、ターゲットSDKが15である私の空のテストプロジェクトでも発生します。明確にするために、ハードウェアアクセラレーションを有効または無効にする方法は、明示的にとを使用android:hardwareAccelerated="true"
してandroid:hardwareAccelerated="false"
います。
ホロの黒/紫のグラデーションの背景についての私の観察Activity
が私の主な質問と関係があるかどうかはわかりませんが、それは奇妙なことに関連しているようです。また、ハードウェアアクセラレーションがオンになっているかどうかに関係なく、品質が低く(つまり、縞模様になっている)、同じように見えるのも奇妙です。したがって、2番目の質問は次のようになります。Activity
デフォルトのHoloグラデーションの背景があり、ハードウェアアクセラレーションが明示的に有効にされてから無効になっている場合、このグラデーションの背景は(a)存在し、(b)完全に滑らかに見える必要がありますか?これは別の質問で質問しますが、繰り返しになりますが、関連しているようです。
要約すると、私が抱えている基本的な問題は、グラデーションの背景をSurfaceView
単純に適用することはできないということです。私のNexus 7では、それが問題であるのはバンディングだけではありません。それ); 実際には、各ドローでバンディングがランダムであるという事実があります。これは、SurfaceView
絶えず再描画されるaが、移動するぼやけた背景を持つことになることを意味します。
audio - .wavファイル形式のチャンネルとは何ですか?wavファイルが再生されるときにすべてのチャンネルが同時に再生されますか?
グーグルでabout.wavファイル形式を読んだところ、フレームは(定義されたビット深度の)サンプルで構成されており、wavステレオファイルにはチャネルと呼ばれるものが複数あることがわかりました。混乱はチャネルかどうかです。フレームで構成されていますか?オーディオファイルを再生すると、すべてのチャンネルが一緒に再生されますか?チャネルがフレームで構成されている場合、すべてのチャネルの長さ(ビット単位)は同じですか?誰かができるなら答えてください、波形でwavファイルを再生するときは各チャンネルを別々に表示する必要があります
java - glEnable(GL_DEPTH_TEST) - 何もレンダリングしない
3D シェイプのレンダリング方法を学ぶプロジェクトに取り組んでいます。深さを正しくするために、glEnable(GL_DEPTH_TEST) を使用しようとしています。予想どおり、その追加だけでは何もレンダリングされないため、glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) を追加しましたが、レンダリングされたものは 1 つもありません。ここに私のコードの簡略版があります。
}
これは、キューブの作成とレンダリングに使用されるクラスです
これは、ものを見るために使用しているカメラです
c# - Mono.Cecilを使用した.NETアセンブリのターゲットアーキテクチャ
.NETアセンブリがMono.Cecilを使用して32ビットまたは64ビット用に特別に構築されているかどうかを確認できますか?または、最初にアセンブリをロードせずに見つける他の方法。