PHPで波形をレンダリングするときに、ラメインエンコーダを使ってダウンサンプリングし、結果のデータポイントから波形を描画します。私がやりたい何PHPのレンダリング波形 - より圧縮されたレンダリングを作成するには?
は、波形の見かけ上のダイナミックレンジは、本質的に「圧縮」であるように、私のコードを変更している:私は現在、このような画像を取得しています。実際の振幅がされた状態で
// draw this data point
// relative value based on height of image being generated
// data values can range between 0 and 255
$v = (int) ($data/255 * $height);
// don't print flat values on the canvas if not necessary
if (!($v/$height == 0.5 && !$draw_flat))
// draw the line on the image using the $v value and centering it vertically on the canvas
imageline(
$img,
// x1
(int) ($data_point/DETAIL),
// y1: height of the image minus $v as a percentage of the height for the wave amplitude
$height * $wav - $v,
// x2
(int) ($data_point/DETAIL),
// y2: same as y1, but from the bottom of the image
$height * $wav - ($height - $v),
imagecolorallocate($img, $r, $g, $b)
);
- :次のように私は、現在、各データポイントの高さをレンダリングするために使用しています
式は、もっとこのようになります波形を生成するために、このコードの最初の行で定義されています。 -
$v = (int) ($data/255 * $height);
残念ながら私の数学スキルは悪いです。私がしなければならないことは、本質的に$ vの値に「曲線」を適用することで、方程式に入力された数値が低いほど、結果の出力は高くなり、入力数が増加すると、方程式は最終的に入力が255に達すると出力も255になります。また、入力が0の場合は出力も0になります。
これがはっきりしない場合はお詫びしますが、私の限られた数学の経験と明確に結びついています。
おそらく、視覚的な表現は私の意図を説明役立つだろう: -
$ vの値が0または255式の出力があるべき正確に入力(0または255)のいずれかである場合には。ただし、入力が中間の値である場合は、上の曲線の出力に従う必要があります。 (上記は説明するだけでラフ描いていた。)
EDIT:
次のようになり、私は今の波形を生成していますAlnitiks 'POW' 関数のソリューションに基づいて: -
$ v変数の置換式を次のように使用します。 -
私は0.4の値を上げようとしましたが、結果はstです。意図したとおりのものではありません。
EDIT 2:
にここに要求されたように、私の$データ変数の生datadumpです:
これは、波形を描画するために使用される前に$ Vを返すために式に渡されます(私が上に投稿した元のコードで変数$ vに何ができるかを見ることができます)$ heightは単純にピクセル数が高く、レンダリングするイメージを設定しました。
このデータはカンマで区切られた値のリストです。私はこれが役立つことを願っています平均値が128であるというあなたの主張が正しいと思われます。これまでのところ私はあなたの訂正のために頭を尽くすことができませんでした。私は現在の理解を少し超えているのではないかと心配しています。 (迅速な表示があると便利だろうと)無数学のスキルを持つ
+1:これは厳密にトピックであるかどうかはわかりませんが、気にしません...楽しいです! –
本当にその曲線の方程式を見つけて、乗算係数を適用する必要があります。これはすべて、あなたが楽しい要素を取り除くときまで沸騰します。そして、それを完全にスキップして分数値(おそらくそう思われる)を気にしない場合は、既知の値の検索を手動で作成することができます。 –
確かに。私はこれが数学サイトに掲載されるべきかどうか疑問に思いました。しかし、私はあなたから得られる回答は、数学者よりも自分の言語ではるかに多くなると確信しています。 :-) – gordyr