ハンブルソフト サポート掲示板

有限会社ハンブルソフトの製品関連の疑問に答える掲示板です。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  

40 / 58 ツリー    ←次へ | 前へ→

Humblesoft_GFXライブラリの解析 A.Iijima 18/8/17(金) 12:31 [添付]

Re:影文字のスクロール表示 A.Iijima 18/8/17(金) 14:18
Re:影文字のスクロール表示 A.Iijima 18/8/18(土) 12:37 [添付]
画像拝見しました。 nari 18/8/18(土) 18:06

Re:影文字のスクロール表示  A.Iijima E-MAIL  - 18/8/17(金) 14:18 -

早速ありがとうございます。まずは固定文字の影文字を表示させることができました。
スクロール文字の影文字もこれからチャレンジしていきます。

引用なし

パスワード



・ツリー全体表示

Re:影文字のスクロール表示  A.Iijima E-MAIL  - 18/8/18(土) 12:37 -

自己レスです。

> https://github.com/h-nari/Humblesoft_LedMat/blob/master/src/ScrollText.cpp#L65
>
>これを1列づつ表示させているので、

というアドバイスを頂きましたので、「ScrollText.cpp」を変更して影文字を表示させました。画像を添付します。

元々のプログラムは、次のようになっており、m_bitmap.getPixel関数で0,1を判断し、TextColorとTextBGcolorのどちらかを設定しています。

if(m_oy +y >= 0 && m_oy + y < m_sch) {
m_led->drawPixel(m_xi, m_scy + m_oy + y,
m_bitmap.getPixel(m_ri, y) ? m_cText : m_cBg);
}

これを改良して、1ドットずらした位置をチェックしてTextBGcolorで描画、
その後、TextColorで描画するようにして対応しました。

以下が変更点です。(ScrollText.cppの91行目から)
座標のチェックなどしていないため、もしかするとまだ不具合があるかもしれません。

if(m_ri < m_gw){
for(int y = 0; y < m_gh; y++){
////変更ここから////
if( m_cBg != 0 ){
if(m_oy +y-1 >= 0 && m_oy + y-1 < m_sch) {
if( m_bitmap.getPixel(m_ri-1, y)!= 0 ){
m_led->drawPixel(m_xi, m_scy + m_oy + y - 1, m_cBg );
}
}
}
if(m_oy +y >= 0 && m_oy + y < m_sch) {
if( m_bitmap.getPixel(m_ri, y)!= 0 ){
m_led->drawPixel(m_xi, m_scy + m_oy + y, m_cText );
}
}
}
////変更ここまで////
m_ri++;
}


ただし、処理が多くなる分、一瞬処理のため止まります。今後の課題です。

引用なし

パスワード


[添付] :110_00.JPG (204.3KB)


・ツリー全体表示

画像拝見しました。  nari  - 18/8/18(土) 18:06 -

画像拝見しました。
素晴らしいですね。

bitmapはカラーにする必要はなく、
描画時に色と位置をずらしているわけですね。

スクロールの動きが、ぎこちなくなるのは、
ある程度仕方ないと思っています。
理由は、スクロール速度をLEDのリフレッシュレートと
関係なく変更可能にしているからです。

あと、事前に表示する内容が決まっているものであれば、
動画として作成し、SDカードに書き込み再生させる
方法があります。
この場合、表現方法は、動画編集ソフト次第ですので、
ほぼ無制限ですし、スクロールが一瞬止まるようなことも
起きないはずです。

引用なし

パスワード



・ツリー全体表示

40 / 58 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  

 7115
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3