ハンブルソフト サポート掲示板
有限会社ハンブルソフトの製品関連の疑問に答える掲示板です。
新規投稿
┃
ツリー表示
┃
スレッド表示
┃
一覧表示
┃
トピック表示
┃
番号順表示
┃
検索
┃
設定
┃
ホーム
40 / 58 ツリー
←次へ
|
前へ→
▼
Humblesoft_GFXライブラリの解析
A.Iijima
18/8/17(金) 12:31
影文字のスクロール表示
nari
18/8/17(金) 13:29
Re:影文字のスクロール表示
A.Iijima
18/8/17(金) 14:18
Re:影文字のスクロール表示
A.Iijima
18/8/18(土) 12:37
画像拝見しました。
nari
18/8/18(土) 18:06
Humblesoft_GFXライブラリの解析
A.Iijima
- 18/8/17(金) 12:31 -
いつもありがとうございます。漢字などのフォントを表示させるときに、現在の背景を塗りつぶすのでなく、添付画像(数字"5"の例)のように影文字表示させることができないかと、ライブラリを見させて頂いております。背景を付けると目立たせることはできるのですが、電流が大きくなるのか欠点です。これを影文字で表示させたいと思い、解析中です。
頂いたスクロールサンプル
LedMat.print → Humblesoft_GFX::write → drawChar
と関数を呼び出していると思い、「Humblesoft_GFX.cpp」プログラムを変更して見ましたが、変わりません。(textbgcolorをゼロにしても背景色が表示)
アドバイスをお願いします。
引用なし
パスワード
:107_5.png
(1.3KB)
・ツリー全体表示
影文字のスクロール表示
nari
- 18/8/17(金) 13:29 -
スクロールしない静止文字も表示ですと、
位置と色を変更して描画してやれば
できるはずです。
スクロール文字(ScrollText)で
影文字を描画するのは、ちょっと面倒です。
ScrollTextでは、一旦、単色のBitmap
https://github.com/h-nari/Humblesoft_GFX/blob/master/src/Bitmap.h
に文字を描画
https://github.com/h-nari/Humblesoft_LedMat/blob/master/src/ScrollText.cpp#L65
これを1列づつ表示させているので、
袋文字に対応するには、Bitmapのカラー対応版
を作成し、これにカラーで袋文字を描画後、
1列づつ表示という感じになるのかなと思います。
引用なし
パスワード
・ツリー全体表示
Re:影文字のスクロール表示
A.Iijima
- 18/8/17(金) 14:18 -
早速ありがとうございます。まずは固定文字の影文字を表示させることができました。
スクロール文字の影文字もこれからチャレンジしていきます。
引用なし
パスワード
・ツリー全体表示
Re:影文字のスクロール表示
A.Iijima
- 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 ツリー
←次へ
|
前へ→
新規投稿
┃
ツリー表示
┃
スレッド表示
┃
一覧表示
┃
トピック表示
┃
番号順表示
┃
検索
┃
設定
┃
ホーム
ページ:
┃
記事番号:
C-BOARD Moyuku v1.03b3