hogeoge enhancer version 4

2019/07/09 11:42 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
hogeoge
# ヒストグラム修正
# ヒストグラム表示修正
- 反転値は概ねwidgetの高さ、自由に変えれるようにグローバルにする
- ヒストグラムが反転値と等しいとき(0)は欠落したRGB値と見なして描画をパスする
ただし両端では実際に0は存在するのでそこもパスするのは間違ってるんだけど
- 一つ後のポイントとラインを引いていたがパスする可能性があるので直前の有効なポイントを記憶してそことのラインを引くように修正

```
# init
# self.rv=180 # reverse value ( height)

        # red draw
        cpoint=QPointF( 0 , self.rv ) # current point
        painter.setPen( QPen( Qt.red , 2 ) )
        for i in range(255):
            if self.his[i] == self.rv :
                continue
            painter.drawLine( cpoint , QPointF( i , self.his[i] )  )
            cpoint = QPointF( i , self.his[i] )

        # green draw
        cpoint=QPointF( 0 , self.rv ) # reset current point
```
---


# ベジェ曲線の座標の求め方について
- Qtはベジェ曲線を描画しているのだから座標も持ってるはずだと思いドキュメントを見てみたらこんなメッソドがあった
QPointF QPainterPath.pointAtPercent (self, float t)
このtは0-1で指定することになっていて、ベジェそのものですね
- Qtもあくまでtベースでしか値は返してくれないって事だな
内部的にはどういう実装なんだろう?
曲線とは言ってもPCだから全てはドットの描画でしかないはずだ
でもドットだとx値が飛ぶところでは間が空くはずだ
でもパスだからどんなに拡大しても綺麗に描画出来るように実装されてるはずだ
やはり全てのx値を計算して求めてるんだろうか?
だとしたらそういう関数を用意してくれても良いと思うんだが・・・
- 今は自分でx,yを求めてるが、Qtの関数を使ってみるか???
結果が同じかどうかを調べてみるとか・・・
意味ないかな? 

      

ヒストグラム表示修正

  • 反転値は概ねwidgetの高さ、自由に変えれるようにグローバルにする
  • ヒストグラムが反転値と等しいとき(0)は欠落したRGB値と見なして描画をパスする
    ただし両端では実際に0は存在するのでそこもパスするのは間違ってるんだけど
  • 一つ後のポイントとラインを引いていたがパスする可能性があるので直前の有効なポイントを記憶してそことのラインを引くように修正
# init
# self.rv=180 # reverse value ( height)

        # red draw
        cpoint=QPointF( 0 , self.rv ) # current point
        painter.setPen( QPen( Qt.red , 2 ) )
        for i in range(255):
            if self.his[i] == self.rv :
                continue
            painter.drawLine( cpoint , QPointF( i , self.his[i] )  )
            cpoint = QPointF( i , self.his[i] )

        # green draw
        cpoint=QPointF( 0 , self.rv ) # reset current point

ベジェ曲線の座標の求め方について

  • Qtはベジェ曲線を描画しているのだから座標も持ってるはずだと思いドキュメントを見てみたらこんなメッソドがあった
    QPointF QPainterPath.pointAtPercent (self, float t)
    このtは0-1で指定することになっていて、ベジェそのものですね
  • Qtもあくまでtベースでしか値は返してくれないって事だな
    内部的にはどういう実装なんだろう?
    曲線とは言ってもPCだから全てはドットの描画でしかないはずだ
    でもドットだとx値が飛ぶところでは間が空くはずだ
    でもパスだからどんなに拡大しても綺麗に描画出来るように実装されてるはずだ
    やはり全てのx値を計算して求めてるんだろうか?
    だとしたらそういう関数を用意してくれても良いと思うんだが・・・
  • 今は自分でx,yを求めてるが、Qtの関数を使ってみるか???
    結果が同じかどうかを調べてみるとか・・・
    意味ないかな?