2025年10月22日(水) 17:19 JST


 2021年12月10日 12:28 JST (参照数 617回)  

状態: オフライン

STB

Forum User

Chatty
登録日: 2020年5月16日
投稿数: 46
皆さん、こんにちは。

OLEでの図面の表示についてですが、
EXCELにBeDrawファイルをOLEで埋め込むと、
円の径が少し小さくなり、また位置が左上にずれます。
対処法がありますでしょうか。
よろしくお願いいたします。

Windows10Home
BeDraw7.79
EXCEL2019

STB

 2021年12月11日 00:48 JST  

状態: オフライン

STB

Forum User

Chatty
登録日: 2020年5月16日
投稿数: 46
ここに状況を説明する画像をアップしようとしましたが、
うまく出来なかったのでURLを貼りました。

以下はBeDrawからエクスポートしたjpgです。



上記のBeDrawファイルをEXCELにOLEで貼り付けました。
以下がEXCELからcubePDFでjpg出力したものです。


円の左上を基点に小さくなっています。
縮小率は円の径によって異なるようです。
点も消えています。

見づらくて申し訳ありません。
よろしくお願いいたします。

 2021年12月11日 08:18 JST  

状態: オンライン

daioh_

Site Admin

管理者
登録日: 2018年10月23日
投稿数: 3485
場所:大阪|日本
画像を貼り付け編集しました

逆だったらすいません
だいおー/大内

 2021年12月11日 09:06 JST  

状態: オフライン

STB

Forum User

Chatty
登録日: 2020年5月16日
投稿数: 46
大内様、画像の貼り付けありがとうございます。
助かりました。

情報交換の場を管理運営してくださり感謝です。
ありがとうございます。

STB

 2021年12月18日 11:22 JST  

ゲストユーザ: AFsoft

私は BeDraw ユーザーではありませんし
このインターネット用PCに BeDraw をお試しインストールする事も出来ませんでしたので(※先日PCがクラッシュしてリフレッシュ復旧させたせいだと思います)全くの未確認なのですが、話が進んでいないようですので ちょっとだけ

OLE という事は、
そのエクセルの画面の中で BeDraw が動いているような状態だと想像しますが、OLE ではなく、BeDraw 単体で動作させて、その画面と同じサイズにした場合、同じような画面状態なのでしょうか?
(普通は、BeDraw単独動作と同じ画面状態になると思います)
もし違うのなら
エクセルでそのOLEオブジェクトを右クリックし「書式設定」をみて、[サイズ]の倍率は、縦横100%になっているでしょうか?

また、JPEG保存時の縦横サイズは、どれくらいにしているのでしょうか? OLE画面・BeDraw画面と同じ縦横サイズでしょうか?

寸法端点の黒丸等は、画面の縦横サイズが小さい場合、画面に描画しない、というようなプログラミングをされているかもしれません。文字を小さくすると四角で表示する、というのと同じような感じの処理で。


次に 円の描画ですが
Windows GDI での線・折線は、ピクセル座標で描画しますが、矩形・楕円・楕円弧は、境界座標で描画します。方眼紙を想像してもらって、グラフ内の四角の真ん中の点を座標として扱うのがピクセル座標で、目盛線上の点を座標として扱うのが境界座標です。
BeDraw がどのように画面描画しているのか、JPEG画像を作成しているのかは分かりませんが、画面描画での円描画を Windows GDIの Ellipse命令で描画している場合は、1ドットのずれが発生する可能性が高いです。画面描画での円描画を多角形描画している場合は、ずれは出ないと思います。円全体を画面内に描画する場合は、多角形描画するよりも、Ellipse命令で描画するほうが描画速度は速いと思います。

※円描画を拡大表示する際には、クリッピングして多角形描画をするってケースはあります。また、任意ピッチな線種表現を行う際も、多角形描画をするってケースはあります。

BeDraw がどのようにプログラミングされているのか全く知りませんので、想像の範囲ですけど、そういう事は状況によっては十分にあり得るんじゃないかなと思います。

 2021年12月20日 12:16 JST  

状態: オフライン

STB

Forum User

Chatty
登録日: 2020年5月16日
投稿数: 46
AFsoft様、ありがとうございます。
お時間をとって検討してくださり感謝いたします。

最初の書き込み時にもっと詳しい情報を書くべきだったと反省しております。

まずBeDrawの情報です。
図面サイズは横A4用紙で縮尺1/10です。
(各図形の寸法からサイズ感がお分かりになられるかと思います。)
jpgへは300dpiでエクスポートしましたので、A4用紙297x210mm(11.693x8.268inch)が
3508x2480pxとなり、そのjpg画像をそのままアップしました。

次にEXCELの情報です。
用紙サイズは横A4用紙です。
左上のセルを基点に上記のBeDraw図面をOLEで貼り付けました。
貼り付けられた画像は、元の用紙サイズにかかわらず高さ3.47cm,幅4.89cmで
表示されますので、倍率を530%にしてほぼA4サイズとなるようにしました。
これをCubePDFを用いて300dpiでjpg変換すると3508x2479pxとなり、
そのjpg画像をそのままアップしました。

画面のスクリーンショットでなくjpg画像をアップしたのは
書類(EXCEL)への図面の貼り付けが、今回の最終目的なので
印刷時の表現が最も重要だったからです。

以上が基本的な情報です。
次に御指摘の件についての情報です。

そのエクセルの画面の中で BeDraw が動いているような状態だと想像しますが、OLE ではなく、BeDraw 単体で動作させて、その画面と同じサイズにした場合、同じような画面状態なのでしょうか?
(普通は、BeDraw単独動作と同じ画面状態になると思います)

BeDrawでは正常に表示されます。(つまりEXCELとは異なる画面状態です)
EXCELに埋め込まれたOLEオブジェクトをダブルクリックで開くと
BeDrawが起動しますがこれも正常な表示です。(EXCELとは異なる画面状態です)

もし違うのなら
エクセルでそのOLEオブジェクトを右クリックし「書式設定」をみて、[サイズ]の倍率は、縦横100%になっているでしょうか?

画像が小さいので縦横530%としておりますが、読み込み時の縦横100%で、既に円の位置はずれています。
BeDrawオブジェクトは元の用紙サイズにかかわらず3.47x4.89cmで取り込まれるようですので
拡大無しに利用することは困難と考えております。

また、JPEG保存時の縦横サイズは、どれくらいにしているのでしょうか? OLE画面・BeDraw画面と同じ縦横サイズでしょうか?

上記のとおり3508x2480pxで、jpg変換時に部分拡大などはしておりません。

寸法端点の黒丸等は、画面の縦横サイズが小さい場合、画面に描画しない、というようなプログラミングをされているかもしれません。文字を小さくすると四角で表示する、というのと同じような感じの処理で。

点の表示に関しては私もそれを疑いました。それで点のサイズを変えて取り込みを
試したところ、あるサイズより小さな点を描画していないことが分かりました。
またこの実験で、点の位置も円と全く同じだけずれることも分かりました。

次に 円の描画ですが
Windows GDI での線・折線は、ピクセル座標で描画しますが、矩形・楕円・楕円弧は、境界座標で描画します。方眼紙を想像してもらって、グラフ内の四角の真ん中の点を座標として扱うのがピクセル座標で、目盛線上の点を座標として扱うのが境界座標です。
BeDraw がどのように画面描画しているのか、JPEG画像を作成しているのかは分かりませんが、画面描画での円描画を Windows GDIの Ellipse命令で描画している場合は、1ドットのずれが発生する可能性が高いです。画面描画での円描画を多角形描画している場合は、ずれは出ないと思います。円全体を画面内に描画する場合は、多角形描画するよりも、Ellipse命令で描画するほうが描画速度は速いと思います。

EXCELから出力したjpg画像を調べたところ、円の半径にかかわらず中心が
縦横共におよそ10ドットずつずれていました。
また線種によっては円がずれないものもありました。(ある半径より小さくなるとずれる)
条件によって色々と結果が変わりますので、これはBeDraw側だけでは解決しない問題の
ような気がしています。


今回は書類に図面を貼り付けることを最終目的としています。
御指摘の情報を基に考えると、EXCELへのOLEを用いたBeDrawの貼り付けは
現状では実用的ではないと判断しました。
pdfやemfを用いた他の方法を検討したいと思います。

本当にありがとうございました。

STB

 2021年12月20日 14:20 JST  

ゲストユーザ: AFsoft

手元にある「BeDraw Lite」の本の p.290 に
貼り付けた BeDraw 図面の表示
貼り付けた図形は印刷イメージをもとに表示されます。
[ファイル]メニュー→[印刷]で開く[印刷方法]ダイアログボックスで、図形色は[太さと色]タブ、線太さは[その他]タブの[OLE貼り付け太さ倍率]で調整します。
図面はオンスケールでの印刷はできないので、図面をオンスケールで印刷したい場合は、BeDrawに他のオブジェクトを貼り付けます。
とあります。

この本は20年前の本ですから古い情報ですので現在の BeDraw とはかなり変わっているかもしれませんが、印刷方法の設定で調整する事である程度は合わせられるかもしれません、が、印刷クォリティを通常の印刷同様に持っていきたいというのは無理があるようですので、調整しても難しいのであれば、先の JPEGファイル等をエクセルに貼り付けて使用する、というのが良いように思います。

 2021年12月20日 16:35 JST  

状態: オフライン

STB

Forum User

Chatty
登録日: 2020年5月16日
投稿数: 46
[印刷方法]ダイアログボックスの
[その他]タブの[OLE貼り付け太さ倍率]を調整すると、
貼り付けられた画像の「線の太さ」は変化しますが、
円や点の位置のずれは改善されませんでした。

AFsoft様、ご検討いただきありがとうございました。

STB

 2021年12月24日 10:34 JST  

ゲストユーザ: AFsoft

STBさん、こんにちは。

OLEは 印刷イメージをもとに表示される、という事ですので、図の大きさも その印刷方法のどこかの設定で 変更する事は出来ないかな?という想像で書きましたが、おっしゃる感じだと無理そうですね。
完全なハズレでしたね。申し訳ありませんでした。

時刻はすべて JST , 現在の時刻は 05:19 午後

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  • ゲストユーザの投稿を見る 
  • 投稿可能 
  • HTML許可 
  • バッドワードをチェック