[Plugin] ImageTrimmer
-
Here's an updated version of SKMtools.
It fixes the glitch found with ImageTrimmer, introduced with SketchUp's v2019.2 new API restrictions on directly using the material from an Image in the model's entities.
There was already a SKMtools method to make a new material from an Image [leaving the Image intact], and add that material to the model's materials; this is now utilized to copy the Image's material into the model for reuse on the trimmed-component's faces...
https://sketchucation.com/pluginstore?pln=SKMtools -
Excellent! It works in 2019 now. Thank you!
-
Thank you!
-
well, 9 years after this was released , i'm trying to use it on Sketchup 2017, which doesn't seem to have the folders to copy the files to
-
It makes the required folder inside the model's folder ?
Have you looked there ?
[That's why you need a 'saved' model to process, so the temp-folder can be made...]Are there any error messages ?
Run it with the Ruby Console open to see...
The folder is made to contain the temporary files needed during processing.
At the end you are offered the choice to delete the files/folder, so if you do that you won't find anything !The trimmed image is inside the model, so you rarely need to look into this temp-folder anyway ??
If you have not set up the PNG image properly then it might not have any transparent pixels and trim to look like it did originally, or conversely if all pixels have some transparency you get an empty result.
Also remember that JAR files used in the processing have to be associated with Java and not hijacked by any compression-app...
There's lots of advice in the main thread...
It works in all current versions of SketchUp...
-
I'm trying this plugin out on a pretty complex png. It appears to be running, going on about 3 hours now. Should I give up or do you think it's still going?
Sketchup 2019.2
late 2015 iMac (macOS Mojave 10.14.6)
4GHz 4-core i7 processor
32 GB 1867 DDR3 RAM
AMD Radeon R9 M390 2 GB
-
Are the white pixels transparent ?
Are the other colored pixels 100% solid ?
Why no aggressively crop the PNG so that it's tight to what you want to keep - otherwise thousands of pixels get analyzed and throw away anyway !It shouldn't take more that 5mins...
How big is that PNG ?? -
So, I tried to cut the transparent space down and now I get a error message:
-
the white areas are all transparent. it is rectangle cropped as tight as possible.
-
I downloaded your original PNG and it trimmed just fine in a minute or two...
However, the result is rubbish, because many of the colored pixels also have some transparency, also get trimmed !
A simple PNG edit to flatten and reassign a transparent layer to just the white 'surround' gives a better result...
However, given the relatively small size and resolution of the PNG the small areas - like the text - it still gives a pretty poor result...
From the screenshot you posted it looks like that's actually NOT an Image ?
You have a selected face ??
Did you adjust the PNG and get that result from ImageTrimmer ???
I some ways it's better that mine ! As it keeps the text etc unaffected...Initially did you import it as an Image ? rather than a Texture...
Also I can't see the advantage of trimming this PNG into a Component ??
What's you end use plan ?
Perhaps it'd be more useful as an imported Image overlaid onto your model ? -
I imported the PNG in as and image. It's originally a vector I saved as a PNG.
I traced out a rough line around the non-transparent areas to help speed up the Trimmer plugin but it didn't help. that's the screenshot I attached. When I traced it out and removed the empty space it made it no longer an image I think?
I don't know how to save as a PNG from illustrator and not lose 100% solid colors. In my vector, all colors are solid.I want to place this on a 3d mock-up of a outdoor sign but it makes a black box around the PNG no matter what method I try.
-
You originally posted a PNG .
Why can't you just use that as an Image in your model ?
Just size/scale it to fix exactly onto the sign ?? -
What if you just leave it as an image and float it off the sign slightly?
-
Thanks to both of you. for what ever reason, importing the image without trimming worked this time when before I had the black shadow behind. I guess I did something wrong last time.
Thanks
-
I suspect that before when you imported the image, your next step was to explode it. This would convert the image into a texture on a face the size of the image. I didn't explode the image in my example but if the image was exploded, you could hide the edges of the face so they aren't visible.
-
Hi TIG,
This is a fantastic plugin, once I figure out how to work it! I've attached a sketch I did of a tree (which I know is a very complicated shape) but my hope is to get at least somewhat correct shadows for it. When I import it as an image and use the image trimmer, WinRAR immediately opens and asks me to extract 'Edgedetecor.jar'. Not sure if this is suppose to happen? I do see that a subfolder is created called 'Trimmedimages' and it has a high contrast version of my original in there. Nothing happens in the model itself though, the image isn't trimmed and no errors are given. I do get the 'Making Edges please wait' dialog at the bottom of Sketchup. I figured with my sketch maybe it was too complex so I tried a more simple PNG file of leaves that I've also attached. I'm using Windows 10 and Sketchup 2020. I know I'm doing something wrong, just don't know what. Any advise would be appreciated.
Thanks,
Vin
-
This issue is covered by the usage notes and in several posts in this thread...
ImageTrimmer uses JAR files - these are tiny applets to do image pixel manipulations etc, not available in older Ruby versions.
JAR files use Java.
It should be already installed on your PC - but if not then google it and install it.
It's known that some compression/unzipping apps - like WinRar - can 'hijack' the .JAR filetype and open that file.
The filetype .JAR must be associated with Java - not some other app - Java executes the JAR file rather than 'opens' it...
The issue is readily fixable.
Open your compression app's settings / options and there will be a section on the filetypes that the app will interact with [like .ZIP, .RAR etc], ensure that .JAR is NOT selected.Try ImageTrimmer again...
While we are at it... please note how the PNG must contain opaque pixels for the solid areas and translucent pixels for the unwanted parts - typically the background.
I suggest you use something like Gimp to make a simple PNG with a clear pixel background and 100% solid other pixels, and test that, so you can see what's involved...In Gimp you can process your PNG by flattening it - so there's no transparency for any of the pixels - then add an alpha-channel [layer] back...
Now if you use the magic-wand to select the color[s] of the unwanted background, and press delete the image should now show a transparent background.
That will be used to trim the image in ImageTrimmer...Always tightly 'crop' the PNG as the unwanted parts get processed and take time - so if you've manually reduced the size it's best [your PNG image needs cropping]]
In passing your tree image does appear very complex and the monochrome pixels might make selecting/deleting the background less easy... Try the leaves PNG... it also needs substantial cropping, but has a transparent background but it's extent needs tidying up.
Thin twigs about a pixel wide will vanish... so I scaled up the image to avoid that, but it takes longer to process, so I also adjusted its contents to avoid the wait - it is overly complex for trimming...
I've done it for you - BUT please try it yourself...
It should take only a few seconds to process the reduced image - everything is exponential 2000 pixels takes 4x longer that 1000px.
-
Thank you TIG for taking the time to reply, even though you've done a similar reply in previous posts that I just didn't realize were to the same issue I was having.
Much appreciated!
-
hi TIG,
I am on my work PC (Windows 10) and using SketchupPro 2020.
I have gone through the entire thread and tried to see what wrong but to no success.
i have made sure Java is installed and all permissions are at full.in one of your post, you ask to paste the code and see what happens...
this is what turns up....
UI.openURL("file:///"+"../full/path/to/EdgeDetector.jar") false
while trying to run imagetrimmer on a file, this is what i see in the RC :
Error: #<Errno::ENOENT: No such file or directory @ rb_sysopen - C:\Users\jenu.varkey\Desktop\TrimmedImages\SS-Poem[Edges].dat> C:/Users/jenu.varkey/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:277:in
readlines'
C:/Users/jenu.varkey/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:277:inmake_edges' C:/Users/jenu.varkey/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:201:in
process_image'
C:/Users/jenu.varkey/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:170:ininitialize' C:/Users/jenu.varkey/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:834:in
new'
C:/Users/jenu.varkey/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:834:inblock in <top (required)>'
any ideas?
-
Could be several things...
Are .jar files definitely set to open in Java - i.e. the file-type suffix hasn't been hijacked by a compression app ?
Assuming that's OK can you post the PNG itself [so I can be sure what's wrong with it]... or try this fix...
If all pixels have some transparency set [even a small amount] then it makes an empty file for 'edges' etc - there aren't any to find.
The way to check this is to use say Gimp flatten the image - to remove all transparency - then add back a transparency [alpha] layer, then select the background pixels [using the magic-wand] and then delete those so you can see the checkerboard pattern...
Crop the image to remove unwanted transparent area around its edges, which will be ignored anyway during the trimming, but which will have to be examined [fruitlessly]
You should now have a usable solid image, with just the background pixels 100% transparent.
Save the PNG and re-import / ImageTrimmer process again...Also note that any solid areas are unlikely survive if they are only 1 pixel wide, so consider this in the PNG...
Good luck...
Advertisement