問題タブ [rasterizing]
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.
python - Python または ImageMagick でフォントを抽出してみてください
リモート LCD ディスプレイ用に中国語のテキストをビットマップに変換するプロジェクトがあります。サーバーで実行されているため、コマンド ライン ツールが優先されます。
そのようなシステムを実装するために Python/PIL と ImageMagick を使用しようとしています。ImageMagick は、Python/PIL がテキストをリモート ディスプレイ用の特別なパケット形式に変換する前に、テキストからビットマップを生成するために使用されます。
IM Web サイトから IM6 の例を読んだ後:
その過程でアンチエイリアスが問題を引き起こすことがわかりました。たとえば、次のコマンドでうまく機能します。
C:\ImageMagick-6.6.6-6\convert -background lightblue -fill blue -pointsize 48 -font "SimSun-&-NSimSun" label:@chinese_words.utf8 label_utf8_simsun.gif
生成された画像初心者は画像を投稿できません。
解像度の高いアンチエイリアスがかかっているので見栄えがします。LCD は白黒のみでアンチエイリアスはなく、12x12 ピクセルなどの低解像度でなければなりません。次のスクリプトを試しました。
C:\ImageMagick-6.5.6-Q16\convert -pointsize 16 -font "SimSun-&-NSimSun" +antialias -strokewidth 0.4 -threshold 50%% label:@chinese_words.utf8 label_utf8_simsun_16_bw_strokewid1.gif
結果は見栄えが悪く、ビットマップ ピクセルが欠落しています。
画像の生成初心者は画像を投稿できません。
LCDに適したPython / ImageMagick(アンチエイリアスなし、2色、小さいサイズ/低解像度)でTrueTypeフォントを抽出する方法を知っている人はいますか?
事前にご協力いただきありがとうございます。
opengl - 異なるアーチでの OpenGL ピクセルの正確なラスタライズ
私が開発しているアプリケーションの場合、できる必要があります
- さまざまな幅と色の線を描く
- 単色で塗りつぶされた三角形を描く
- テクスチャ付き (アルファなし) のクワッドを描画する
とても簡単ですが...
すべての座標はピクセル空間の整数であり、非常に重要です: glReading は、2 つの異なる OS (Linux と freebsd) を実行する 2 つの異なるグラフィック カードを備えた 2 つの異なるマシンで、フレーム バッファからすべてのピクセルを読み取ると、まったく同じビット シーケンスになる必要があります (適切な定数フォーマット変換が与えられた場合)。
OpenGL とハードウェア アクセラレーションを使用してこれを安全に達成することは不可能だと思います。異なるグラフィック カード (異なるベンダーの) が異なるラスター化アルゴリズムを実装している可能性があるからです。(OpenGl の仕様は、アルゴリズムを提案しているため、これについては明確ですが、特定の状況では実装が異なる可能性があるとも述べています)。また、非常に低速で単純なグラフィックスをレンダリングするため、ハードウェア アクセラレーションはあまり必要ありません。
ハードウェアアクセラレーションを無効にするだけでこれを達成できると思いますか? その場合、Linux ではどうなりますか? MESA ソフトウェア ラスタライザーをデフォルトにしますか? その場合、それが常に機能することを確認できますか、それとも何か不足していますか?
actionscript-3 - Actionscript 3でテキストを実際にラスタライズする方法は?
Actionscript Bitmap(またはBitmapData)がおかしい。cacheAsBitmapはデフォルトでfalseであるだけでなく、BitmapDataは実際には単なるビットマップではないようです。
テキスト行のアルファをアニメーション化すると、テキスト行が点滅することがわかりました。私はそれをさまざまな方法で回避しようとしましたが、その1つは、背景付きのテキストをビットマップに描画し、ビットマップをアニメーション化することでした。
それがすべきことは、「レイヤー下部」と「レイヤー上部」のテキスト間のスムーズな移行です(FPSを変更した場合)。少なくとも私のマシンでは、それが行うことは奇妙であり、ビットマップ内のテキストがビットマップのように扱われるのではなく、ベクトル(おそらくTextLine)として扱われることを明確に示しています。では、BitmapDataはビットマップのみをエミュレートしているのでしょうか?バグですか?私は何かが足りないのですか?
dpi - render() を使用して画像出力の DPI を制御する
phantomjsを使用して、メソッドを使用して Web コンテンツの画像をラスタライズするときに使用される DPI 設定を制御する方法はありpage.render(filename)
ますか?
インターフェイス apiを介してこれを制御するものは何も見つかりませんが、誰かがこれを行う方法をすでに考え出しているかどうかはわかりませんでした。
私たちのビジネスケースは次のようになります。
Web アプリケーションで作成されたカスタム HTML コンテンツは、rasterize.js ファントム プロセスに送られ、特定のタグを照会してクライアントの四角形を設定します。このクライアントの四角形は HTML の PNG にレンダリングされ、他の場所で画像として使用できます。
結果として得られる PNG の解像度をデフォルトよりも高くする必要があります。これは、奇妙なフォント サイズ/太字の組み合わせでテキストにエイリアシングが発生するためです。
c++ - SVG をラスターに変換する C/C ライブラリ。
svgをラスター画像(できればpng)に変換するための無料または無料ではないライブラリを知っている人はいますか。
ImageMagic、GraphicMagic、librsvg があるようです。しかし、私はそれらをどのように使用するか、または私の問題に適しているかを理解できません。コードからプログラムで変換を行う必要があります。
rendering - 重心座標テクスチャ マッピング
3D レンダリング用に正しい遠近法でテクスチャをマッピングしたいと考えています。重心座標を使用して、三角形の面上の点を見つけています。単純なアフィン変換によって、標準的で奇妙に見える結果が得られました。これは私の視点を修正するために行ったことですが、歪みを大きくしただけのようです:
3 つの三角形の頂点 v1 v2 v3
頂点座標は v_.x v_.y v_.z
テクスチャ座標は v_.u v_.v
頂点に対応する重心座標は b1 b2 b3
正しいテクスチャ座標 U と V を取得しようとしています
z=b1/v1.z + b2/v2.z + b3/v3.z
U=(b1*v1.u/v1.z + b2*v2.u/v2.z + b3*v3.u/v3.z) / z
V=(b1*v1.v/v1.z + b2*v2.v/v2.z + b3*v3.v/v3.z) / z
これはうまくいくはずですよね?なぜこれが機能しないのですか?
編集: このページの応答は便利に見えますが、w 座標が何であるかはわかりません。多分誰かがそれを説明できれば、私の問題も解決するでしょう。http://www.gamedev.net/topic/593669-perspective-correct-barycentric-coordinates/
注: 私のタグは最初はすべて間違っていました。これは修正されました。
matlab - MATLAB/Octaveで三角形のスキャンラインをベクトル化します
Octave/MATLABは初めてです。三角形の単純なスキャンラインの塗りつぶしをベクトル化したいと思います。これが私が排除したいwhileループです:
c++ - glPolygonMode(GL_FRONT_AND_BACK, GL_LINES) が機能しない
プリミティブを通常の塗りつぶしモードでレンダリングしてから、ワイヤー フレームとしてレンダリングしようとしています。
レンダリング コード:
表示リスト作成コード:
glColor3c マクロ:
周囲に黒いフレームが描かれたシアン色の平面が描画されることを期待していますが、表示リストを 2 回目にレンダリングすると、全体が単純に塗りつぶされて描画され、他のプリミティブのピクセルが上書きされます。描画したい平面ができあがりますが、それは単なる黒 (「バージョン」の行に指定した色) です。
役立つ可能性のあるその他の情報は、MSVC++ 2010 を搭載した Windows 7 で SDL を使用しているということです。 . 私の唯一の OpenGL セットアップ コードは、プロジェクションとモデル ビュー マトリックスをセットアップし、表示リストを作成します。
明らかに私の質問は、ディスプレイ リストを 2 回目に描画するときに、線を作成するのではなく、プリミティブを埋めるのはなぜですか? これを修正するにはどうすればよいですか?
java - ラインラスタライズ/4接続ブレゼンハム
衝突テストでは、線をラスターする必要があります。ブレゼンハムのアルゴリズムはほぼ希望どおりに機能しますが、次のような行を生成するという欠陥があります。
そして私は必要です:
私の現在の実装( http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm#Simplificationに基づく):
私が使用できる他のラインラスタライズアルゴリズムはありますか、またはブレゼンハムを変更する方法を知っている人はいますか?
geometry - 三角形のラスタライズの問題
フラットトップとフラットボトムの三角形を描画する (塗りつぶされた) いくつかの関数を作成しようとしています。大部分は機能しますが、辺を共有する隣接する三角形の間に亀裂が見られることがあります。補間手法を使用して三角形を 1 行ずつラスターし、各ステップで新しい左端と右端を計算します。これの多くはコードで説明されていますが、一般的な考え方は次のとおりです (平らな底の場合):
1) dy (高さ) を求める
2) 頂点から各頂点までの dy/dx (勾配) を求める
3) 開始行 ( floor(top point) ) に移動し、最初の x-start と x-end 座標を見つけます
4) 次の行に移動し、新しい開始制限と終了制限を計算します...
クラックは、上下の接合ではなく、側面で接合する三角形の間にのみ見られることに注意してください。私はこれに長い間携わってきたので、もう何を試すべきかわかりません。ロジックはしっかりしていると思います。ひび割れは浮動小数点エラーによるものかもしれません。フィードバックをいただければ幸いです。