I’m trying to understand how scale works in Synfig. I have two images both sized 500x500px. I have resized my canvas to 500x500px and have set images to be scaled to the canvas size. However, when I import the images the Scale of these is 77.0371x77.0371px.
How is this being calculated? In programs such as Natron and Blender’s compositor the scale parameter is in relation to the original size of the imported image, so scale 1 is unchanged, scale 2 is double size (1000x1000), 0.5 half size (250x250) etc.
I’ve attached my project and files. I’m using Synfig 1.3.16.clouds.zip (55.7 KB)
The 77.03 number is in fact scale 1.0 as you would expect. Synfig just trolling you because it handles different measurement systems poorly. It’s native format is “units” but in your case it is set to pixels so everything gets converted to them. And with resolution 500x500 the 1 unit is ~77.04 px. Unit is relative to resolution, so for example for 480x270 it’s 60px and for 1920x1080 it’s 240px.
Just work with “units” until Synfig gets better with different measurement systems. You can change it in “Edit->Preferences->System->Unit System”.
Wait, why is it odd? Seems pretty logical to me. I do want to upscale everything when I change canvas size because I work with vector forms and it scales up perfectly.
If you want to change the size of the canvas without upscaling everything, then do the following:
Go to “Canvas->Properties->Other”. Make sure that only “Pixel Aspect” is checked. Click “Apply”.
Go to “Image” tab and specify the new resolution, click “OK”.
What I and @rodolforg meant is that parameters that specify scales, amounts, you know, anything relative, must not be converted in pixels/centimeters/whatever but always remain in units (floating numbers like 1.0, 2.0, 0.5, etc.).
Hey BTW, why Units? Why not just Put it in Pixels for default instead units? We are working with digital 2D images for draws and animations dont editing documents for magazines or impress, think in the Random people or new users, all the animation2d and Painting programs have they metric system units in Pixels by default, with Synfig you must need to be like an atronaut to go the menu edit, preferences, system(i think, forget ), metric unit. . You want more people use the program think in that people the new users dont know nothing about the program, make easy and more friendly for they. I love Linux, but Im a Digital Artist not an informatic programer guy, for that reason I return to Windows because I lost more time try to configuring and try make the softwares work well than making my draws.
Ah other one: why time line Start for frame 0? It must start from frame 1, frame 0 dont exist, frame 0 is when you have no draw (in the moment that you do a simple doodle, point or line it be the frame 1.), I think it must start from frame 1 for default (but Synfig time line is more like a 3D program, but look even blender start the timeline in frame 1) and if some hipster want that they project start from frame 0, then that he have need to go the preferences and change it, but not make to the new users do all that changes
Ah yes, discussing Synfig metric system on New Year’s Eve. What can be better?
Why not units? Things I have against pixels:
They are too small. It’s like measuring everything in millimeters. Not very convenient if you ask me
Pixel is the absolute unit. Which means it will NOT scale on resolution change, while units are relative. Say we have a line that has size -0.5u to 0.5u (-30px to 30px). This line will have the exact same size when you change resolution in units but not in pixels (it’ll become -60px to 60 px in case of 960x540 resolution). And it’s convenient for quickly moving objects around canvas. For example, I can simply put ‘-4’ to ‘Origin’ parameter of any shape and it will jump right in the left corner of the canvas no matter resolution
From the above point, pixels aren’t relative, so you can’t use them for tasks like expressing scale, percentage and so on. You have to use pixels and something else (% for example) for relative tasks while units can be used for everything
You’re working with vector graphics. Why do you even care about measuring system? I would understand if you were creating pixel art, but in that scenario you better off with program that has pixel-art specific tools
And besides, Synfig already has pixels for default choice (I don’t approve it though), so you got what you wanted, right?
It is such a little detail that I don’t even think it deserves a discussion. Personally I wouldn’t mind it either way. Heck, there’re SO MANY problems with Synfig and you got angry at starting frame? Come on, it’s not a big deal.
Well, it happened due to programmer habits (and how computer works).
It’s possible to change to regular user, but we now should check everywhere to change what frame number is shown to keep consistency: timeslider, waypoint editor dialog, current frame field, tooltips, layer parameters (like TimeLoop) etc.
Yeah, I can do that.
Just to clarify, you aren’t implementing a new Synfig type, right? In my understanding, it should be just a hint in ValueNode class for GUI to ignore current visual representation and keep units or am I missing something?
No, I’m just reusing the “set_is_distance()” hint that was used only for “GtkTextEntry”, but not by vectors.
I’m setting hints ‘everywhere’ and implemented the code to not show as distance metrics if not set.