[Plugin] ImageTrimmer
-
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...
-
Dear TIG,
Know you must be so sick of answering questions on this...So here's where I'm at:
The Image must be imported as an Image, NOT a texture. - TICK
It must be a PNG. - TICK
It must have a transparency alpha-channel. - TICK
The background pixels to be removed must on that. - TICK
ALL other pixels must be 100% opaque. - TICK
If they have any transparency at all they will also be removed ! - NOTEDSave the PNG and import it as an Image into your SKP. - TICK
Select it. - TICK
Choose ImageTrimmer on the Tools menu. TICK
Answer the prompts... NOPE - NO PROMPTS, HOWEVER, I GET THE THE LINE, DAT AND PNG FILE IN THE SUBFOLDER (SEE ATTACHMENTS)Run with the Ruby Console open to see if there are any error-massages...
HERE'S WHAT I GET:
Error: #<NoMethodError: undefined method
length' for nil:NilClass> C:/Users/nixch/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:278:in
make_edges'
C:/Users/nixch/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:201:inprocess_image' C:/Users/nixch/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:170:in
initialize'
C:/Users/nixch/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:834:innew' C:/Users/nixch/AppData/Roaming/SketchUp/SketchUp 2020/SketchUp/Plugins/SKMtools/ImageTrimmer.rb:834:in
block in <top (required)>'Java installed and enabled on your computer [the usual default]. - TICK
Also check that the .jar file-type is set to open with Java [execute] and NOT to open in your [de]compression application - some hijack various file extensions that are used by things like Java and stop them executing... - TICK
[/attachment]The only slightly untoward event is that my virus protector is giving me a sequence of 3 warnings (I've attached 2). I hit the "Allow" every time (even when I've told it not to prompt me for 30 minutes it still pops up).
Windows 10, Sketchup Pro 2020
Have attempted on 2 other png images and same sequence.Please help...
[attachment=4:9vweqji1]<!-- ia4 -->shrub_Elev_2[Edges].png
[attachment=3]shrub_Elev_2.png<!-- ia4 -->[/attachment:9vweqji1]
-
What you have done so far seems fine.
I repeated it with your PNG and got this result attached...
My SKP was on my Desktop, but ones in my Documents folder work fine too...The main difference seems to be your over-zealous AntiVirus tool which attempts to block the JAR files running - not seen that before !
Do you tick the box to remember the allowance ?
You must allow it to create the files [obviously], when first run you might be causing a glitch by the interruption - but after that if you told it to ignore the JAR's actions it should be OK ??You could also try switching off the AntiVirus briefly while running the tool and see if that is indeed the culprit...
What s your AntiVirus app ? -
So I temporarily switched off Anti-Virus Protector (Kaspersky) and it worked. Hooray!
Weirdly, no matter what I did (allow, remember my preferences etc etc) it kept re-prompting me.
I've had plenty of issues with it being over-zealous. I guess that's preferential to being under-enthusiastic at protecting my computer, just a bit of a faff.Only issue I have now is that when I change the axis in the lovely new component it moves the texture around but that's not a big worry. Can sort that out myself I reckon.
Thanks a mill for your help.
@tig said:
What you have done so far seems fine.
I repeated it with your PNG and got this result attached...
My SKP was on my Desktop, but ones in my Documents folder work fine too...The main difference seems to be your over-zealous AntiVirus tool which attempts to block the JAR files running - not seen that before !
Do you tick the box to remember the allowance ?
You must allow it to create the files [obviously], when first run you might be causing a glitch by the interruption - but after that if you told it to ignore the JAR's actions it should be OK ??You could also try switching off the AntiVirus briefly while running the tool and see if that is indeed the culprit...
What s your AntiVirus app ?[attachment=0:dc4tca6g]<!-- ia0 -->Capture.PNG<!-- ia0 -->[/attachment:dc4tca6g]
-
Why do you need to move the axes ?
If the image has become a component, then select that and explode then remake the component this time setting its axes where you want - at that point the texture shouldn't 'jump' ??
Use the same name to overwrite the original... -
Will do, thanks.
I move the axes upwards slightly for most shrubs so that they "sit" on the planting surface in a more credible way - essentially planting them slightly buried.@tig said:
Why do you need to move the axes ?
If the image has become a component, then select that and explode then remake the component this time setting its axes where you want - at that point the texture shouldn't 'jump' ??
Use the same name to overwrite the original... -
Hi Tig,
As with many I am having problems with the EdgeTrimmer. I am using Google Sketchup Pro 8. Windows 10. Recently installed the latest version of JAVA. All of the Jar files have the JAVA logo which I would guess that it should work. Checked all of the files and their locations and the ToolBox loaded correctly. Full permissions are granted for the plugin folder and subfolders. It does not perform as the directions would indicate. No edges, did not give messages to tilt up, etc.
The following is the Ruby Console output when I ran the ImageTrimmer tool. Any idea what is happening?
Error: #<NoMethodError: undefined method
material' for nil:NilClass> C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/SKMtools/image_class.rb:316:in
use_as_material'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/SKMtools/image_class.rb:599:insave_imagefile' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/SKMtools/ImageTrimmer.rb:191:in
process_image'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/SKMtools/ImageTrimmer.rb:170:ininitialize' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/SKMtools/ImageTrimmer.rb:834:in
new'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/SKMtools/ImageTrimmer.rb:834Thank you for your help.
Ron
-
Please attach the PNG image file that you want to trim...
If the JAR files are working OK, then I suspect that perhaps the PNG itself has some transparency [alpha] assigned for all of its pixels - which means all pixels are ignored and the result is 'empty'...
Also even PNGs with some solid pixels can fail if they are in 'filaments' of only 1 pixel wide - again these get skipped in the trimming...
Only the 'background' you want to remove can have any transparent pixels, the ones to be kept must be 100% solid.But seeing the actual PNG will help confirm the problem... otherwise we have to guess...
-
@tig said:
Please attach the PNG image file that you want to trim...
If the JAR files are working OK, then I suspect that perhaps the PNG itself has some transparency [alpha] assigned for all of its pixels - which means all pixels are ignored and the result is 'empty'...
Also even PNGs with some solid pixels can fail if they are in 'filaments' of only 1 pixel wide - again these get skipped in the trimming...
Only the 'background' you want to remove can have any transparent pixels, the ones to be kept must be 100% solid.But seeing the actual PNG will help confirm the problem... otherwise we have to guess...
Attached is the file that has the transparency. Ron
-
You need to fix the PNG...
Then it works OK.
The PNG has an alpha defined for all pixels - although the main background is transparent the remainder are also slightly transparent.
Here's how I fixed it...
Open the PNG in Gimp [or a similar app].
Flatten the image [no alpha at all].
Add an alpha channel layer.
Select the black background using the magic wand.
Note that that tool's sensitivity might need downgrading as her suit is also in shades of black.
Delete those to show a transparent background.
Select a few remaining black islands - e.g. between her calves, in her hair etc...
Delete those too.You also need to crop the PNG's content - otherwise thousands of background pixels will be inspected without any real effect - other than extending the processing time unnecessarily.
I've attached the reworked PNG... and a screenshot of it inside a SKP model...
-
@tig said:
You need to fix the PNG...
Then it works OK.
The PNG has an alpha defined for all pixels - although the main background is transparent the remainder are also slightly transparent.
Here's how I fixed it...
Open the PNG in Gimp [or a similar app].
Flatten the image [no alpha at all].
Add an alpha channel layer.
Select the black background using the magic wand.
Note that that tool's sensitivity might need downgrading as her suit is also in shades of black.
Delete those to show a transparent background.
Select a few remaining black islands - e.g. between her calves, in her hair etc...
Delete those too.You also need to crop the PNG's content - otherwise thousands of background pixels will be inspected without any real effect - other than extending the processing time unnecessarily.
I've attached the reworked PNG... and a screenshot of it inside a SKP model...
Thank you so much!!
-
@flyboy308 said:
@tig said:
You need to fix the PNG...
Then it works OK.
The PNG has an alpha defined for all pixels - although the main background is transparent the remainder are also slightly transparent.
Here's how I fixed it...
Open the PNG in Gimp [or a similar app].
Flatten the image [no alpha at all].
Add an alpha channel layer.
Select the black background using the magic wand.
Note that that tool's sensitivity might need downgrading as her suit is also in shades of black.
Delete those to show a transparent background.
Select a few remaining black islands - e.g. between her calves, in her hair etc...
Delete those too.You also need to crop the PNG's content - otherwise thousands of background pixels will be inspected without any real effect - other than extending the processing time unnecessarily.
I've attached the reworked PNG... and a screenshot of it inside a SKP model...
Thank you so much!!
Tig. Even using your FIXED version of the image, I still could not get it to work. After further investigation, I found that the program would not run with my Google Sketchup Pro version 8, 32-bit, on my Windows 10 64-bit operating system. Go figure. But it does work perfectly on my original image using both Sketchup 2015 and Sketchup 2017 Make. I could not find a 64-bit version of Sketchup 8 to see if that would work. This might help someone else or maybe someone who has success with the older version might respond.
Once again thank you for looking at this issue for me. Ron
Advertisement