[[20180906112632]] 『画像の明るさとコントラストの設定について』(けけけ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『画像の明るさとコントラストの設定について』(けけけ)

下記の通り、マクロで、
画像を貼り付けたのち、その画像の明るさとコントラストを設定しています。

  ' 写真データを明るさ・コントラストを調整
  stImageShape.PictureFormat.Brightness = 0.6
  stImageShape.PictureFormat.Contrast = 0.5

処理後、[図の書式設定]-[図の修整]-[明るさとコントラスト]には
設定した通りの値がセットされていますが、
ぼやけたような画像になってしまいます。

[図の書式設定]-[図の修整]-[明るさとコントラスト]-[標準スタイル]で、
同じ値になるように選択すると、明るさ、コントラストそれぞれの値は
変化しませんが、ハッキリとした画像になります。

マクロを利用して、[標準スタイル]で選択したものと同じ状態にすることは
可能でしょうか。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


プロパティの範囲は、輝度もコントラストも 0.0〜1.0 です。 図の書式設定は、これを -100%〜100% で指定するようになっているので、マクロでも -100%〜100% で指定したいならば、(数値 + 100) / 200 で計算してみてください。

例えば、60% ならば、マクロでの指定は (60 + 100) / 200 = 0.8 になります。
(???) 2018/09/06(木) 13:11


レス、ありがとうございます。
そのように計算しているつもりで、明るさのみ+20%していますし、
処理後のファイルでもその通りに設定されているので、
そのあたりは間違っていないと思うのですが。。。
(けけけ) 2018/09/06(木) 13:29

0.5 は変化がない指定なので、判っていないのかと思いました。 理解されているのであれば、後はプロパティに代入している箇所にブレークポイントを指定して、実際にどういう値をセットしようとしているのか確認してみてはどうでしょうか? 輝度とコントラスト以外のプロパティを、どこか別のコードで変えていないか、とか。

または、画像を貼って縮小表示後に、画像をJPEG保存してブックファイルサイズを小さくしていて、小さくなった画像を拡大表示していたりはしませんか? コーディング全体が提示されていないので、推測するしかないですが。
(実際にブック内の画像がどうなっているかは、ブックを.ZIPファイルにリネームし、\xl\media\ 以下を見てみれば判ります)
(???) 2018/09/06(木) 14:08


画像データへの処理は以下で全てです。
デバックでブレークポイント立てて追っかけてみようと思いますが、、、
正直どの値を追えばいいのやらといった状態ですので、
ご指摘等いただけますと有難いです。。

        ' 写真データを適用
        Set stImageShape = ActiveWindow.Selection.SlideRange.Shapes.AddPicture( _
            photoPath & xl_sh.Cells(i, "A").Value & ".JPG", msoFalse, msoTrue, 14.1, 198.4)

        ' 写真データを明るさ・コントラストを調整
        stImageShape.PictureFormat.Brightness = 0.6
        stImageShape.PictureFormat.Contrast = 0.5

        ' 写真データをトリミング(ピクセル標記 (cmでの長さ)×72/2.54 )
        stImageShape.PictureFormat.CropBottom = 150.2  ' 下の切り取り
        stImageShape.PictureFormat.CropRight = 411  ' 右の切り取り

        ' 写真データを最背面に移動
        stImageShape.ZOrder msoSendToBack

ZIPファイルの件、やってみます。
(けけけ) 2018/09/06(木) 14:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.