質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

3回答

689閲覧

C#でパワーポイントへオートシェイプを追加

zero06

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2018/04/20 00:06

C#を使用してパワーポイントへオートシェイプを追加しようと考えております。

やりたい事は画面のハードコピーをとってクリックされた場所へオートシェイプ
を起きたいのです。

画面のハードコピーをパワーポイントへJPGで貼り付けるところまではできている
のですが、クリックされた位置へオートシェイプを置くところが実現できており
ません。
現在考えているのは、クリックされたピクセル位置を貼り付けたJPGのX,Y軸位置
へ変換してオートシェイプを置こうと思っております。
そこで、スライドの最大X,Y軸位置を取得する方法をご教授いただきたいのです。

以上 宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

何をクリックしているのかが把握できませんが、オートシェイプの追加はopenXMLを利用するのがいいでしょう。
https://qiita.com/JVoltex/items/6b7232dc2757c904dde0

openXMLだけでは位置情報のコントロールは難しいと思うので、クリックイベントでのマウス位置情報取得やフック処理が必要になると思います。

いずれにせよ、質問文がかなり曖昧ですので「どういった技術的課題」に直面しているか、具体的になった時点で質問に追記・書き換えることをお勧めします。

投稿2018/04/20 02:52

Rocky

総合スコア261

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

実はSpire.PresentationというC#用のコンポーネントがありますが、オートシェイプについての要求を解決できると思います。例えばこのツールを使用してシェイプを追加する部分のコードをご覧ください:
// 新しい三角形
IAutoShape shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Triangle, new RectangleF(50, 100, 100, 100));
//新しい四角形
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(225, 100, 150, 100));
//新しい楕円形
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Ellipse, new RectangleF(450, 100, 150, 100));
//新しい五芒星
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.FivePointedStar, new RectangleF(50, 250, 100, 100));
//新しい線
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Line, new RectangleF(300, 250, 160, 120));

//色とシェイプのスタイルを設定する
shape.Fill.FillType = FillFormatType.Solid;
shape.Fill.SolidColor.Color = Color.LightGreen;
shape.ShapeStyle.LineColor.Color = Color.White;

こうすると思いとおりにシェイプを追加できます。

投稿2021/10/27 09:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Spire.presentationでなら、簡単にできます。

ご参照まで:↓

[https://www.e-iceblue.com/Introduce/presentation-for-net-introduce.html]

投稿2020/12/18 02:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問