[
新規
] - [
ツリー
] - [
スレッド
] [
未解決
] [
緊急
] - [
優先
] - [
検索
] - [
なでしこTOP
]
「なでしこv1」開発掲示板
なでしこv1のバグや要望を書き込む掲示板
→
書き込み(
#3136
)を編集する:
名前
タイトル
本文
【症状】【要望】 文字描画/文字表示命令では、水平にしか文字列を描画/表示できません 「文字表示」斜めに描画/表示したいのですが、不可能でしょうか 【再現方法】 任意の角度で目盛りを表示するツールを作っていますが、目盛りの角度によっては文字が重なり読みづらくなります 目盛の傾きに応じた角度で文字表示ができれば解決しますが、それができません イメージ部品に文字を表示し回転することを試みましたが、イメージ部品と重なる線が隠れてしまいます スクリーンショットを添付します ご検討をお願いいたいます 【バージョン】1.591 【その他】 #イメージ部品で傾き文字表示する試作ソース #角度付き文字描画TEST再 !変数宣言が必要。!変数初期化が必要。母艦のサイズ=「10,10,1210,990」。線太さ=1。塗りスタイル=「透明」。 XSとは実数=100。YSとは実数=400。XEとは実数=400。YEとは実数=100。 CMIndxとは整数。CHRIMGとは配列。#文字を乗せるイメージ部品(複数想定したため配列に) LINE((XS+XE)/2,0,(XS+XE)/2,900)。LINE(0,(YS+YE)/2,900,(YS+YE)/2)。 anglとは実数=(0.00001+ARCTAN((YE-YS)/(XE-XS))*180.0/PI)。 FC文字画像描画((XS+XE)/2,(YS+YE)/2,10,angl,「中下」,SQRT((XE-XS)^2+(YE-YS)^2))。 線色=青色。LINE(XS,YS,XE,YE)。 ●FC文字角度最適化(inangl)# 戻り値:(実数)360°を超えない角度 addとは実数=(INT(ABS(inangl)/360)+1)*360。 rsltとは実数=(inangl+add)と360の剰余。 もし、(90<=rslt)AND(rslt<180)ならば、rslt=rslt+180。 もし、(180<=rslt)AND(rslt<270)ならば、rslt=rslt-180。 rsltで戻る。 ●FC文字画像描画(px,py,chrh,inangl,position,wrtxt)# px,py:基点座標 chrh:サイズ inangl:角度 文字表示 position:文字配置基点「左中右」/「上中下」 wrtxt:文字列 sft1xとは整数=0。sft1yとは整数=0。sft2xとは整数=0。sft2yとは整数=0。sx1とは実数。sy1とは実数。sx2とは実数。sy2とは実数。 x1とは変数。y1とは変数。x2とは変数。y2とは変数。radnとは実数。tanangとは実数。cosangとは実数。sinangとは実数。anglとは実数=FC文字角度最適化(inangl)。 radn=anglをラジアン変換。tanang=TAN(radn)。cosang=COS(radn)。sinang=SIN(radn)。crrntchrh=母艦の文字サイズ。母艦の文字サイズ=chrh。 chrbとは整数=wrtxtのバイト数+5。chrwとは実数=wrtxtの文字幅取得。##chrwとは整数=chrb*chrh/2.0。 CMIndx=CMIndx+1。CHRIMG[CMIndx]をイメージとして作成。# CHRIMG[CMIndx]→サイズ=「{px-chrw/2.0},{py-chrh},{px+chrw/2.0},{py+chrh}」。# 余白なし CHRIMG[CMIndx]の0.0,0.0へwrtxtを文字表示。# CHRIMG[CMIndx]をanglで画像回転。 CHRIMG[CMIndx]→サイズを「,」で区切って「x1,y1,x2,y2」へ変数分配。#sft1x=(x2-x1)/2。sft1y=(y2-y1)/2。#中心点へのシフト sft1x=(x2-x1)/2。sft1y=(y2-y1)/2。# 一旦、文字中心を基点座標にシフト sft1x/sft1yに記憶 positionで条件分岐# 上下左右へのアジャスト sft2x/sft2yにセット 「左上」ならば、sft2x=(chrw*cosang+chrh*sinang)/2-chrh*sinang。sft2y=chrw*sinang/2+chrh*cosang。# sft1x:+ sft1y:+ 「左中」ならば、sft2x=chrw*cosang/2。sft2y=chrw*sinang/2。# sft1x:+ sft1y:+ 「左下」ならば、sft2x=(chrw*cosang+chrh*sinang)/2。sft2y=chrw*sinang/2-chrh*cosang。# sft1x:+ sft1y:+ 「中上」ならば、sft2x=(-1)*chrh*sinang/2。sft2y=chrh*cosang/2。# sft1x:- sft1y:+ #「中中」ならば、sft2x=0。sft2y=0。# 中心にシフト済み sft1x:0 sft1y:0 「中下」ならば、sft2x=chrh*sinang/2。sft2y=(-1)*chrh*cosang/2。# sft1x:+ sft1y:- 「右上」ならば、sft2x=(-1)*(chrw*cosang+chrh*sinang)/2。sft2y=(-1)*(chrw*sinang/2-chrh*cosang)。# sft1x:- sft1y:- 「右中」ならば、sft2x=(-1)*chrw*cosang/2。sft2y=(-1)*chrw*sinang/2。# sft1x:- sft1y:- 「右下」ならば、sft2x=(-1)*(chrw*cosang+chrh*sinang)/2-chrh*sinang。sft2y=(-1)*(chrw*sinang/2+chrh*cosang)。# sft1x:- sft1y:- CHRIMG[CMIndx]→位置=「{px-sft1x+sft2x},{py-sft1y+sft2y}」。#シフト量を加算してイメージ部品を移動 (attach:3136_68c7c7a40afd5.jpg)
優先度
低
中
高
緊急
状態
未処理
詳細求む!
調査中
議論中
修正中
確認待ち
再修正依頼
解決
---
重複
---
アイデア
感想
告知
感謝
確認キー
👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。
編集キー
編集時に使うキーを入力(省略可能)
添付ファイル
🎁
ファイルを選択...
画像ファイル(最大300KB)を添付可能