You can implement brightness and contrast to bitmap of particular ImageVObject. However _image field is a private in ImageVObject. So you can get it using Reflection only:
Dim imageInfo As System.Reflection.FieldInfo = _
imageVObj.GetType().GetField("_image", _
System.Reflection.BindingFlags.NonPublic Or _
System.Reflection.BindingFlags.DeclaredOnly Or _
System.Reflection.BindingFlags.Instance)
Dim image As Aurigma.GraphicsMill.Bitmap = _
CType(imageInfo.GetValue(imageVObj), _
Aurigma.GraphicsMill.Bitmap)
Now you can implement brightness and contrast to this bitmap. How to work with these effects you can find in Main Demo sample.
Hi Tamila I have see MainDemo sample for VB.NET but if i change value i don't see preview in image but i see my modified after i click ok button 😞....
If i have in VB.NET TrackBar1_Scroll with maximum value 100 and Minimum vale -100 when i change value is possible see in Multilayerviewe1 the changes ?
i have try in This mode but don't work...
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
Dim LumBri As New Aurigma.GraphicsMill.Transforms.BrightnessContrast LumBri.BrightnessAmount = TrackBar1.value
ApplyTransform() method needs a bitmap, not a layer.
You should use something like this:
Dim imageInfo As System.Reflection.FieldInfo = _
imageVObj.GetType().GetField("_image", _
System.Reflection.BindingFlags.NonPublic Or _
System.Reflection.BindingFlags.DeclaredOnly Or _
System.Reflection.BindingFlags.Instance)
Dim image As Aurigma.GraphicsMill.Bitmap = _
CType(imageInfo.GetValue(imageVObj), _
Aurigma.GraphicsMill.Bitmap)
Dim BrighContr As New Aurigma.GraphicsMill.Transforms.BrightnessContrast
BrighContr.BrightnessAmount = 0.9F
BrighContr.ApplyTransform(image)
'Now you can put transformed bitmap image into new imageVObj instead of current
MultiLayerViewer1.CurrentLayer.VObjects.Remove(imgVObj)
Dim newImgVObj As Aurigma.GraphicsMill.WinControls.ImageVObject(image, False, 0, 0)
MultiLayerViewer1.CurrentLayer.VObjects.Add(newImgVObj)
Dim newImgVObj As Aurigma.GraphicsMill.WinControls.ImageVObject(image, False, 0, 0) MultiLayerViewer1.CurrentLayer.VObjects.Add(newImgVObj)
image???? newimgvobj???
i past all line:
Dim bmp As New Aurigma.GraphicsMill.Bitmap
Dim imgVObj As New Aurigma.GraphicsMill.WinControls.ImageVObject(bmp, False, 0, 0)
Dim imageInfo As System.Reflection.FieldInfo = imgVObj.GetType().GetField("_image", _
System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.DeclaredOnly Or System.Reflection.BindingFlags.Instance)
Dim image As Aurigma.GraphicsMill.Bitmap = CType(imageInfo.GetValue(imgVObj), Aurigma.GraphicsMill.Bitmap)
Dim BrighContr As New Aurigma.GraphicsMill.Transforms.BrightnessContrast
BrighContr.BrightnessAmount = 0.9F
BrighContr.ApplyTransform(image)
'Now you can put transformed bitmap image into new imageVObj instead of current
MultiLayerViewer1.CurrentLayer.VObjects.Remove(imgVObj)
Dim newImgVObj As Aurigma.GraphicsMill.WinControls.ImageVObject(image, False, 0, 0)
MultiLayerViewer1.CurrentLayer.VObjects.Add(newImgVObj)
this method is possibile usage Grayscale and adjust color and other effect ?