Re: DrawBoxSet()を可能であれば。。。 ( No.1 ) |
- 名前:管理人 日時:2021/12/14 05:51
> もし可能でしたら、下記のAPIをC#版で作成して頂くことは出来ませんでしょうか?
> DX.DrawBoxSet(DX.RECTDATA[] rectData, int num)
了解です
DrawBox を連続で呼ぶ場合と比較してどのくらい高速化できるかは不明ですが、とりあえず
追加してみますので数日ほどお待ち下さい m(_ _)m
|
Re: DrawBoxSet()を可能であれば。。。 ( No.2 ) |
- 名前:BETA 日時:2021/12/14 15:40
管理人様
お忙しいところ、本当に有難うございます!
追加完了のご連絡を待っております。
|
Re: DrawBoxSet()を可能であれば。。。 ( No.3 ) |
- 名前:管理人 日時:2021/12/14 22:54
すみません、1日で追加できました
こちらに関数 DrawBoxSet を追加したバージョンをアップしましたので、よろしければダウンロードしてください m(_ _)m
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用
以下の関数を追加しました
// 矩形の集合を描画する
int DrawBoxSet( const RECTDATA *RectDataArray, int Num ) ;
// 矩形データ型
struct RECTDATA
{
int x1, y1, x2, y2 ; // 座標
unsigned int color ; // 色
int pal ; // パラメータ
} ;
struct RECTDATA の中身は struct LINEDATA と全く同じですが、一応別構造体として用意しました
手元で C++版で試した限りでは DrawBox を連続で呼ぶ場合に比べて CPU の処理時間が半分になりました
よろしければお試しください m(_ _)m
|
Re: DrawBoxSet()を可能であれば。。。 ( No.4 ) |
- 名前:BETA(解決) 日時:2021/12/16 09:48
管理人様
DrawBoxSetを実装していただき有難うございます。
これで描画速度がだいぶ跳ね上がるので、大変助かりました。
|
Re: DrawBoxSet()を可能であれば。。。 ( No.5 ) |
- 名前:BETA 日時:2021/12/16 10:16
管理人様
Ver 3.22Bから今回ご対応いただいたVer 3.23Aにdllを差し替えたところ、これまでの文字描画がおかしくなりました。
DX.DrawStringFToHandle()で描画している箇所の文字の色が一部欠損(黒っぽい色で欠けたようになっている)していたりしています。
バージョンを戻すと問題ないようです。
何が原因なのでしょうか??
お手数をおかけしますが、ご回答いただければ幸いです。
|
Re: DrawBoxSet()を可能であれば。。。 ( No.6 ) |
- 名前:管理人 日時:2021/12/17 02:21
すみません、手元で簡単に試した限りでは特に問題なく描画されました
よろしければ件の現象が発生した際のフォントのフォント名、サイズ、フォントタイプ
フォントの太さ、描画された文字列を教えて頂けないでしょうか? m(_ _;m
|
Re: DrawBoxSet()を可能であれば。。。 ( No.7 ) |
- 名前:BETA 日時:2021/12/20 17:01
管理人様
お世話になっております。
ファイアストレージ(オンラインストレージ)に実際の表示されている画像をキャプチャしましたので、ご確認いただけると幸いです。
↓文字作成
string s = "";
DX.CreateFontToHandle(s, 15, 1, DX.DX_FONTTYPE_EDGE);
↓文字描画
DX.DrawStringFToHandle()
異常な場合の一例ですが、下記のとおりです。
フォント名:""←まずい?
サイズ:12
フォントタイプ:DX_FONTTYPE_EDGE
フォントの太さ:1
文字列:いろいろな数字
※"ttps"の前に"h"を付けてください。
↓文字が正常な表示画像
ttps://firestorage.jp/download/dfbb7141c3b3895e6f5865ad9853600d3b855f96
↓文字が異常な表示画像
ttps://firestorage.jp/download/ace5c16d6f34d3f279f5636d5be0af98fe58fcee
以上、よろしくお願いいたします。
|
Re: DrawBoxSet()を可能であれば。。。 ( No.8 ) |
- 名前:管理人 日時:2021/12/21 02:11
ご返答&画像のアップありがとうございます
> フォント名:""←まずい?
いえ、"" でも問題ありません
> ↓文字が異常な表示画像
> ttps://firestorage.jp/download/ace5c16d6f34d3f279f5636d5be0af98fe58fcee
確かに文字が崩れていますね…
手元で DotNet のプロジェクトを作成して、サイズ12のフォントを使用して
異常な表示がされてしまっている文字( : 179.44 m など )を描画する以下のような
プログラムを作成してみたのですが、手元では文字が崩れることなく表示されました
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DxLibDLL;
namespace DotNetFontTest
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
DX.ChangeWindowMode(DX.TRUE);
DX.SetBackgroundColor(128, 128, 128);
if (DX.DxLib_Init() < 0)
{
return;
}
int FontHandle = DX.CreateFontToHandle("", 12, 1, DX.DX_FONTTYPE_EDGE);
DX.DrawStringFToHandle(16.0f, 16.0f, ": 179.44 m", DX.GetColor(255, 255, 255), FontHandle);
DX.DrawStringFToHandle(16.0f, 16.0f + 16.0f, ": 48.58 m", DX.GetColor(255, 255, 255), FontHandle);
DX.DrawStringFToHandle(16.0f, 16.0f + 32.0f, ": 172.74 m", DX.GetColor(255, 255, 255), FontHandle);
DX.DrawStringFToHandle(16.0f, 16.0f + 48.0f, "DIRE : 164.29 °", DX.GetColor(255, 255, 255), FontHandle);
DX.WaitKey();
DX.DxLib_End();
}
}
}
こちらにテストで使用したプロジェクトをアップしましたので、お手数で申し訳ありませんが
BETAさんの環境でも正常に表示されるか試してみていただけないでしょうか? m(_ _;m
https://dxlib.xsrv.jp/temp/DotNetFontTest.zip
 |
Re: DrawBoxSet()を可能であれば。。。 ( No.9 ) |
- 名前:BETA 日時:2021/12/21 13:05
管理人様
お世話になっております。
テストプロジェクトを実行してみましたが、特に文字が欠けたり等はしていないようです。
一応ログをファイアストレージにアップロードしました。
バージョンが3.22Bから3.23Aに変わることで、不具合が発生しているのが気になります。。
異常となるバージョンで文字列を表示すると、全てシャギーでどの文字も全体的に欠損しているような感じがします。
正常 v3.22B
ttps://firestorage.jp/download/49513a7de38d4af2b9f5e94f44afd96552257142
異常 v3.23A
ttps://firestorage.jp/download/49513a7de38d4af2b9f5e94f44afd96552257142
以上、よろしくお願いいたします。
|
Re: DrawBoxSet()を可能であれば。。。 ( No.10 ) |
- 名前:管理人 日時:2021/12/21 20:33
> テストプロジェクトを実行してみましたが、特に文字が欠けたり等はしていないようです。
お試し頂きありがとうございます
テストプロジェクトでは大丈夫だった、となりますと、BETAさんが組まれている
プログラムでなら私の環境でも現象が確認できそうです
直接現象を確認できれば原因もすぐに分かると思いますので、申し訳ありませんが
現象が確認できるBETAさんが作成中のプログラムをプロジェクトフォルダごと
zipファイルなどで圧縮して、以下のメールアドレス
BQE00322(あっとまーく)nifty.com
( (あっとまーく) を @ に置き換えてください )
に送って頂けないでしょうか? m(_ _)m
> 一応ログをファイアストレージにアップロードしました。
載せていただいた2つのURLが同じで、どちらも v3.22B のログファイルとなっているようです
v3.22B のログを拝見する限りでは、特に本件の現象に関係しそうな出力は見当たりませんでしたが、
お使いのPCには GeForce RTX 2070 というかなり高性能なグラフィックカードが搭載されているのに、
モニターが接続されているのは Intel UHD Graphics 630 という Core i7-9750 内蔵の
グラフィック機能なのが少し気になりました…
|
Re: DrawBoxSet()を可能であれば。。。 ( No.11 ) |
- 名前:BETA 日時:2021/12/22 10:08
管理人様
お世話になっております。
圧縮ファイルで約300MB程度ありますので、ファイアストレージにアップロードしましたので、
管理人様のメルアドにダウンロードURLとパスワードをご連絡させていただきます。
プログラム内容については、メールに記載させていただきたいと思います。
以上、お忙しいところ恐縮ですが、よろしくお願いいたします。
|
Re: DrawBoxSet()を可能であれば。。。 ( No.12 ) |
- 名前:管理人 日時:2021/12/24 00:07
メールありがとうございます
ご返信をしましたので、よろしければご確認ください m(_ _)m
|