Rank: Advanced Member
Groups: Guest
Joined: 12/17/2007(UTC) Posts: 49
|
Hi, we use a code similar to Main sample about operations with filters. This is the code we use for Buttonize effect: Dim but As New Buttonize but.BorderWidth = BorderWidth 'for example 10 but.Direction = Direction.Up but.FadeType = FadeType.Linear ApplyTransform(but) After this, the image(the whole area of image) gets the effect. When we first select an area of the image with select tool, and after we apply the effect, the effect applies again to the whole image and not only on the selected area. What do we have to change so the filter applies only to the selected area ? cpav
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 1/31/2005(UTC) Posts: 458
Was thanked: 5 time(s) in 5 post(s)
|
Hi, You should use MaskedTransforms functionality to apply effect on the part of the image. Edited by user Tuesday, October 28, 2008 8:30:24 PM(UTC)
| Reason: Not specified |
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 1/31/2005(UTC) Posts: 458
Was thanked: 5 time(s) in 5 post(s)
|
Oh, another way - you can copy part of the original image (e.g. with Crop transform), apply your transform to that piece and then draw it back to the original image. The way to choose depends on the specific of your task. Using masked transforms is more common way while the crop-apply-and-copy-back way may be faster in some cases. I recommend you to use the first and try the former only in case of any issues. Edited by user Tuesday, October 28, 2008 7:11:49 AM(UTC)
| Reason: Not specified |
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 12/17/2007(UTC) Posts: 49
|
Hi Alex, well what i need is the first way, MaskedTransforms. But i need little help on how to do this. On my INITIAL post, i added an attached zip file. It's a tiny,simple project that does transform for 1 whole image. Please have a look at it and tell me if you can, what we need to add for the last button! Thanks for helping
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 1/31/2005(UTC) Posts: 458
Was thanked: 5 time(s) in 5 post(s)
|
Hello, I have some problem here with your sample - Texturize transform is not descendant of the MaskedBitmapTransform class, so it is impossible to use it with custom masks. However, I decided that it is a good chance to demonstrate another way - "crop-transform-draw". Here is method which applies texturize transform only to the selected part of the image: Code:
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
If (bitmapViewerMainView.Bitmap.IsEmpty Or
rectangleRubberbandSelect.Rectangle.Width < 1 Or
rectangleRubberbandSelect.Rectangle.Height < 1) Then
Return
End If
' 1) We need to extract specified part of the bitmap
Dim roi As New Aurigma.GraphicsMill.Bitmap()
Dim cropTransform As New Aurigma.GraphicsMill.Transforms.Crop()
cropTransform.Rectangle = rectangleRubberbandSelect.Rectangle
cropTransform.ApplyTransform(bitmapViewerMainView.Bitmap, roi)
' 2) Now we should apply texturize transform to this region
roi.Transforms.Texturize(3, 3)
' 3) And put this patch back to the original image
roi.Draw(bitmapViewerMainView.Bitmap,
rectangleRubberbandSelect.Rectangle,
Aurigma.GraphicsMill.Transforms.CombineMode.Copy,
1.0,
Aurigma.GraphicsMill.Transforms.InterpolationMode.HighSpeed)
End Sub
As for code sample with MaskedTransforms - you can use one from the Overlaying Images article, "Masked Transforms" section. If you need any other specific sample - feel free to ask! Edited by user Wednesday, October 29, 2008 1:58:40 PM(UTC)
| Reason: Not specified |
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 12/17/2007(UTC) Posts: 49
|
This is working, but the Undo operation is not working using "crop-transform-draw" method. Can we have some code that does any kind of transformation on a selected area, and which can Undo using code Code:bitmapViewerMainView.Bitmap.Undo()
?
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 1/31/2005(UTC) Posts: 458
Was thanked: 5 time(s) in 5 post(s)
|
Hi, Are you sure that "UndoRedoEnabled" property of the bitmap is set to true? I attached your sample with my modifications to this post. Please, could you check it and let me know if you have any problems with Undo/Redo in your enviroment. |
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 12/17/2007(UTC) Posts: 49
|
Well, it works fine in true application, so everything is ok Alex. As you told us, we use this code Code: roi.Transforms.Texturize(3, 3)
Everything is ok, but when we try to do the same for Solarize filter, it does not exist. roi.Transforms. has Cylindrize, Emboss, Glow and all the filters you have in MainDemo sample except Solarize!. Is it going to be included maybe in next revision or version of GM or this is different story and will not be done? I just want to know if i will put a follow up on this waiting to be included, or just forget it and continue without having it on my mind. Thanks again Alex
|
|
|
|
Rank: Advanced Member
Groups: Guest
Joined: 1/31/2005(UTC) Posts: 458
Was thanked: 5 time(s) in 5 post(s)
|
Hi, Solarize transform was classified in another way. Along with Leves, HistogramEqualize, Brightness/Contrast and similar transforms it was placed into "ColorAdjustment" helper, so you should write such line: Code:roi.ColorAdjustment.Solarize()
Yeah, I know that it is a little unexpected in the first time ;) |
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.