No announcement yet.

Canvas disappearing image bug

  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    1. Please see the PDF for how to reproduce the image border problem. I also linked to the starting TIFF file, but I don't think there is anything special about that. (I tried to upload but got the message "Invalid file data BorderBug-steps.pdf").
    PDF file:
    TIF file:

    2. For getting images to disappear - I don't yet know a reliable way to cause this, but I will look out for something to reproduce. SpriteEffects is usually involved.

    Both of these problems date from Canvas X, maybe even Canvas 5 where I think SpriteEffects was introduced, I don't recall. Happy to provide any other info.


    • #17
      Until Canvas Draw 3, I never had a disappearing image problem. It happens to me when I use the crop tool, click the image, crop one side then if I happen to click outside the image, it disappears, but I can it back if I keyboard undo a bunch of times.


      • #18
        Thank you James for taking the time to explain and show us the issue. I have reported it as I was able to reproduce it. I will continue to work with SpriteEffects to see if I run into the disappearing issue.


        • #19
          Here's another quirky SpriteEffects feature. (I use SpriteEffects all the time for preserving the original image, so these quirks add up to a being a bit of a bother and I would be happy for some fixing to be done). Make a new document, load that TIF file I linked to (or any at hand). Now apply a clipping path: create a rectangle and eye-ball it to some size that is smaller than the TIFF image - doesn't matter what fill it has, if any. Make sure the rectangle is on top of the image, select both the TIFF image and the rectangle, and choose Object -> Clipping Path -> Make. Now you will see only the part of the image inside the rectangle. You can select just the rectangle by dragging around it (but not around the full TIFF image limits) and move it around (eg, arrow keys) to see different parts of the image - all good.

          Now apply a SpriteEffect to the image (eg, Brightness/Contrast) and things go wrong. Try to select the rectangle only by dragging around it but not around the TIFF image as before - this time BOTH objects are selected (wrong!). Ok, so both are selected, now shift-click the visible part of the image to deselect it, leaving just the rectangle selected. Move the rectangle (eg, arrow keys) and while some of the visible image is clipped, the part that should now become visible remains clipped (wrong!). Its as if the object bounds of the image have been reduced to just the clipped part of the image instead of the whole image. Now with the SpriteEffects dialog, delete the SpriteEffect and the proper clipping appears - ie that part of the image under the rectangle.

          Note - while doing this, in one iteration the whole image disappeared when I applied the SpriteEffect to the clipped image - the image was there according to its selection boxes but didn't display - so I started again and it worked fine. Sorry, not much use for tracking it down, but this kind of thing happens too often.

          But despite all that - Canvas rocks!


          • #20
            And since you ask...a simpler one to set up. Again load a TIFF file into a new window, make a small rectangle object on top of it. Select the rectangle, open the SpriteEffects dialog (Object -> SpriteEffects -> Show Palette...) and check "Lens" and "Absolute". Now move the rectangle off the TIFF image and it should show the area of the image that it was on top of (really useful, especially with the zoom). Now select the TIFF image and apply a SpriteEffect (eg, Brightness/Contrast) and adjust the sliders to change the appearance of the image. Depending on the position of the rectangle "lens", the image it shows will be unchanged, or maybe only one side of it is changed. It has to be moved in order to trigger an update so that it matches the changes to the image area it displays. This is obviously annoying if you have several such lenses and have to remember to 'trigger' them by moving in order to get the update, and then to get them moved back. If the rectangle "lens" is on top of the image, it tends to get the update immediately, but not if its off, or partially off the image.

            This works the same if the lens object is displaying a TIFF image or any kind of object (eg, red rectangle with a green circle on top) which can still have SpriteEffects applied.

            I can work up new PDF's with progress images and explanatory text if necessary, like before.


            • #21
              Ok, reported both issues having to do with SpriteEffects. I am sure you tried it already, but if you apply the SpriteEffect to the image before you clip it, it seems to work a bit better.
              I also reported the issue with Lens. BTW, you can invoke a command+K to refresh the screen which forces an update.

              Thank you


              • #22
                Ok, I have a workaround for the image border problem you are having. Not sure if we will be able to fix the original issue. I will explain after the workaround.

                1: Import the tif
                2: Select the image and change its resolution to 300 while Preserving its data
                3: With the image still selected choose Image | Add Visibility Mask
                4: Select the wand tool, set its tolerance to 0
                5: With the wand tool selected, click on the Black area of the image
                6: Press the delete button to remove the black area
                7: Take image out of edit mode, make sure its not selected
                8: Open the SpriteEffects palette
                9: Set the default resolution in the palette to 300 dpi
                10: Select the image
                11: Using the SpriteEffects palette, apply a Gaussian Blur with its radius set to 1

                You should now have what you wanted in the first place.

                The original issue:
                It is actually the order that the mask gets concatenated, when you have an image with transparency mask and then apply a SpriteEffect what happens is the SpriteEffect gets applied to the image first then the transparency mask gets applied. Unlike applying a visibility mask to the image where the filter gets applied to the entire image including the mask so it works.

                I hope this workaround works for you.


                • #23
                  Albert, your uploaded image does not show.


                  • #24
                    I know, I copied it from Preview and at first it shows, but when I post it somehow gets corrupted.


                    • #25


                      • #26

                        Thanks - I can see how the order is an issue, much as i would like it not to be. Thanks also for figuring out a workaround - good to know. The only downside is this step: 6: Press the delete button to remove the black area

                        The beauty of SpriteEffects is that the original object is unchanged, and effects can be modified over and over again. The workaround alters the image object, something I avoid because its happened again and again that I come back to an old document (yes, even in CVX or CV5 format!) and need to re-work it for a different use. For example, a while background is good for miserly journals, but a black background is good for presentations in a dark room. Or I want to compare a new model with an old one by putting the left half or one next to the right half of the other. Some of these things can still be done with the modified image, but if the mask is soft, the deletion is impossible to undo accurately. You used a tolerance of 0 (so a hard edge) but then magic-wanding with the new background value of white will include edge pixels that were originally white, and they now get included in the selected area and changed to black.

                        I could keep the original tiff with the canvas file (doesn't always survive years of copying, moving, re-organizing), or a copy of the tiff in the canvas file itself (but they can be much larger than the example I used, at 1800dpi or more, and several of them in one figure file, so it just takes space).

                        >> Not sure if we will be able to fix the original issue.

                        I was afraid of that. I have survived this long, and your approach will be another tool in the toolbox to get the result I want. Again - thanks!


                        • #27
                          No problem, glad to be of some assistance.