矩形/楕円/角丸矩形の場合は、マウスでの変形時には AspectRatio プロパティを False に設定してから処理します。(描画時は不問)
貼付イメージの場合は、描画時には AspectRatio プロパティを、変形時には SelectedObjectAspectRatio プロパティをそれぞれ False に設定してから処理します。
テキスト・スタンプイメージの場合は、描画時には WordWrap プロパティを、変形時には SelectedObjectWordWrap プロパティをそれぞれ False に設定してから処理します。
操作法、コード例
正方形、正円、角丸正方形、縦横比1:1ののイメージ・背景塗りつぶしテキスト・スタンプを描画したり、変形します。
■ マウス操作で描画、変形する場合
【 描画・貼付時 】
《 正方形/正円/角丸正方形 》
(1) ImageKit1.Edit.EditKind プロパティを
Newtone.ImageKit.WPF.KindOfEdit.Rectangle/Ellipse/RoundRectangle
に設定
(※楕円や矩形の場合は、AspectRatio プロパティの値は無関係です)
(2) Shift キーを押しながら描画
《 正方形のイメージ 》
(1) ImageKit1.Edit.EditKind プロパティを
Newtone.ImageKit.WPF.KindOfEdit.Image に設定
(2) ImageKit1.Edit.AspectRatio プロパティを False に設定
(3) Shift キーを押しながら貼付範囲を指定
(4) ダイアログボックスでイメージファイルを選択して貼付
《 縦横比1:1の(背景塗りつぶし)テキスト・スタンプ 》
(1) ImageKit1.Edit.EditKind プロパティを
Newtone.ImageKit.WPF.KindOfEdit.Text/Stamp に設定
(2) ImageKit1.Edit.WordWrap プロパティを False に設定
(※テキストで背景塗りつぶしの場合は、Newtone.ImageKit.WPF.KindOfEdit.Fill プロパティを True
に設定)
(3) Shift キーを押しながら描画範囲を指定(※範囲指定のためのマウスダウンの前に Shift キーを押してください。)
(4) テキストを入力して範囲外をクリックして決定
(※描画・貼付範囲指定終了後は、マウスアップ後に Shift キーを放してください。)
【 変形時 】
《 正方形/正円/角丸正方形 》
(1) ImageKit1.Edit.AspectRatio プロパティを False に設定
(2) 描画済みのオブジェクトを単独選択し、四隅のいずれかのブロックをつかんで Shift キーを押しながら変形
《 正方形のイメージ 》
(1) 貼付済みのイメージオブジェクトを単独選択し、ImageKit1.Edit.SelectedObjectAspectRatio
プロパティを False に設定
(2) 四隅のいずれかのブロックをつかんで Shift キーを押しながら変形
《 縦横比1:1の(背景塗りつぶし)テキスト・スタンプ 》
(1)
貼付済みのテキスト/スタンプオブジェクトを単独選択し、ImageKit1.Edit.SelectedObjectWordWrap
プロパティを False に設定
(2) 四隅のいずれかのブロックをつかんで Shift キーを押しながら変形
(※描画・貼付時に正方形/正円/角丸正方形でなくてもこの操作は可能です。逆に、正方形/正円/角丸正方形で描画・貼付されていてても、変形時に
Shift キーを押さないと縦横比1:1にはなりません。
また、マウス操作の途中でも、Shift キーを押したり放したりして挙動を変更することが可能です。)
(※変形終了後は、マウスアップ後に Shift キーを放してください。)
■ コードで描画、変形する場合
[Visual Basic.NET]
'※アノテーション機能を使用する際は下記のプロパティを True に設定しておく必要があります ImageKit1.Edit.EditEnabled = True 【 描画時 】 '※貼付イメージの場合のみ必要(楕円や矩形やテキスト系の場合は、AspectRatio プロパティの値は無関係です) ImageKit1.Edit.AspectRatio = False '※テキスト/スタンプの場合のみ必要(楕円や矩形やイメージの場合は、WordWrap プロパティの値は無関係です) ImageKit1.Edit.WordWrap = False '色や線の太さなど必要なプロパティを設定 ・ ・ ・ '引数の Rectangle の幅と高さを同じ値にして描画する(x=10,y=50の位置に高さ・幅100pxで描画する例) Dim drawRect As Rectangle = New Rectangle(10, 50, 100, 100) Dim drawRectF As RectangleF = New RectangleF(10, 50, 100, 100) '※テキスト/スタンプの場合 '※正方形/正円/角丸正方形の場合 ImageKit1.Edit.DrawRectangle/DrawEllipse/DrawRoundRectangle(drawRect) '※貼付イメージの場合 ImageKit1.Edit.PasteImage("imagefile.jpg", drawRect) '※テキスト/スタンプの場合 ImageKit1.Edit.DrawText(drawRectF) 【 変形時 】 '変形するオブジェクトを選択(対象のオブジェクト番号が3とする) ImageKit1.Edit.SelectObject(3) '※矩形/楕円/角丸矩形の場合は、コードで変形する場合、AspectRatio プロパティの値は不問です '※貼付イメージの場合のみ下記の設定が必要 ImageKit1.Edit.SelectObjectAspectRatio = False '※テキスト/スタンプの場合のみ下記の設定が必要 ImageKit1.Edit.SelectObjectWordWrap = False '変形後の構成座標を設定(x=10,y=50の位置で高さ・幅200pxにする) Dim newPoints As Point() = {New Point(10, 50), New Point(210, 250)} ImageKit1.Edit.SelectedObjectDrawPoints = newPoints
[Visual C#.NET]
//※アノテーション機能を使用する際は下記のプロパティを True に設定しておく必要があります ImageKit1.Edit.EditEnabled = true; 【 描画時 】 //※貼付イメージの場合のみ必要(楕円や矩形やテキスト系の場合は、AspectRatio プロパティの値は無関係です) ImageKit1.Edit.AspectRatio = false; //テキスト/スタンプの場合のみ必要(楕円や矩形やイメージの場合は、WordWrap プロパティの値は無関係です) ImageKit1.Edit.WordWrap = False //色や線の太さなど必要なプロパティを設定 ・ ・ ・ //引数の Rectangle の幅と高さを同じ値にして描画する(x=10,y=50の位置に高さ、幅100pxで描画する例) Rectangle drawRect = new Rectangle(10, 50, 100, 100); RectangleF drawRectF = new RectangleF(10F, 50F, 100F, 100F); //※テキスト/スタンプの場合 //※正方形/正円/角丸正方形の場合 ImageKit1.Edit.SelectObjectDrawPoints/DrawEllipse/DrawRoundRectangle(drawRect); //※貼付イメージの場合 ImageKit1.Edit.PasteImage("imagefile.jpg", drawRect); '※テキスト/スタンプの場合 RectangleF drawRectF = new RectangleF(10F, 50F, 100F, 100F); //x=10,y=50の位置に高さ、幅100pxで描画 ImageKit1.Edit.DrawText(drawRectF) 【 変形時 】 //変形するオブジェクトを選択(対象のオブジェクト番号が3とする) ImageKit1.Edit.SelectObject(3); //※矩形/楕円/角丸矩形の場合は、コードで変形する場合、AspectRatio プロパティの値は不問です //※貼付イメージの場合のみ下記の設定が必要 ImageKit1.Edit.SelectObjectAspectRatio = false; //※テキスト/スタンプの場合のみ下記の設定が必要 ImageKit1.Edit.SelectObjectWordWrap = false; //変形後の構成座標を設定(x=10,y=50の位置で高さ、幅200pxにする) Point[] newPoints = {new Point(10, 50), new Point(210, 250)}; ImageKit1.Edit.SelectedObjectDrawPoints = newPoints;
◆ 参照プロパティ
ImageKit.Edit.AspectRatio
ImageKit.Edit.WordWrap
ImageKit.Edit.SelectedObjectAspectRatio
ImageKit.Edit.SelectedObjectWordWrap
ImageKit.Edit.SelectedObjectDrawPoints
◆ 参照メソッド
ImageKit.Edit.DrawRectangle
ImageKit.Edit.DrawEllipse
ImageKit.Edit.DrawRoundRectangle
ImageKit.Edit.DrawText
ImageKit.Edit.PasteImage
ImageKit.Edit.SelectObject
◆ 参照サンプルプロジェクト
\Examples\WPF\CSharp または VB.NET\4. アノテーション機能\EditToolBar