Distortion (discussion)

Previous topic - Next topic

Laser

Hi!


I hope this is right here.
I thought a lot about distortion in Scribus and I don't see a masterplan^^
At the moment there are a lot of different ways to distort text and images.

We do have Mesh Distortion (for text), we can skew text, we can attach text to path, we can make letters higher or wider, we have scaling for images...
For me it looks that in every case the text or image is converted to something scaleable.

Wouldn't it be better to concentrate on one way?

Mesh distortion is not useable atm as you don't see what you get, you cannot adjust the points precise, you cannot add or remove points - and you cannot distort images.

Skewing is just one function, the possibilities are limited.  (But atm it is good to have!)

My favorite would be shapes. With more functions.
Fit text or image to shape (i.e. trapez) for example. With images this already would allow a 3D effect. With text it could at least replace Mesh distortion - a perfect 3D effect with letters being smaller if they are "farer" away would be great.


What do you think? What do the devs say?


Thanks and regards
Laser

a.l.e

hi laser

interesting thoughts... as a first step, i would suggest you to come up with a set of screenshots of the use cases you want to cover...

ciao
a.l.e

Laser

#2
Ok, here we are^^

Text attached to form - dist1.png

Original image - dist3.png
Attached to form - dist2.png

I hope this is understandable...


Rgds


[attachment deleted by admin]

a.l.e

so, you don't want to apply it to multiline text?
not on curved lines either?

basically, it would be helpful if you could come up with with a few simple examples and explain what is peculiar to each example, what are the sources, what the results...

then we can talk about the use interaction :-)

ciao
a.l.e

p.s.: attaching single images to a post forum is good for the discussion but we will need to have a wiki page (or similar) somewhere with a more structured...

Laser

Hi a-l-e!


Multiline of course.
Curved lines could also be possible with fit to shape - it's hard to produce images without the function^^
But my thoughts go to 3D effect first.

Image shows multiline with different font size (I forgot to fit linespacing) to simulate 3D.
It's like you look on a paper not from above but from the side. The letters more far from you look smaller - it would be great to simulate this automatically.


Rgds


[attachment deleted by admin]

Laser

For images ImageMagick already has a solution.
It would be great if this could be integrated direct on canvas to position every point exactly.
With the possibility to move the points with the mouse and with the input of numbers - my English... Numbers so that you can get for example the same X-position for 2 points if you want a perpendicular border.

For Text Inkscape knows Perspective - more difficult forms are also more difficult. But Perspective would be good (for the moment :-P).

I see the progress with mesh distortion, but it has the same problem like external solutions - you cannot work exactly. For sure I can make perspective text in Inkscape and import it into Scribus. And I can change the angles a hundred times. And again a hundred times after stretching the background image for some reason.
Mesh distortion wouldn't be that bad if I was able to reduce the points to 4 - at least I wouldn't have to use an external program every time :-)

That now sounds very ... evil. But no offend! I like the work of the (not paid!) developers very much. Just my 2 pfennigs ;-)



Regards

GarryP

It would be great to see new exciting features in Scribus but, just to play "devil's advocate" and see things from a different viewpoint, here are some comments that might take this discussion in some interesting directions.

Inkscape already does all of these functions - and many more - really well. Would it not be better, and more productive, to make Scribus able to handle importing SVGs in a more comprehensive way so that it can handle everything that is made in Inkscape?

That way all of the "special effect" work can be farmed out to Inkscape so that Scribus can concentrate on layout and typography (for example, the important RTL work that is ongoing).

I'm not talking about simple stuff like skewing shapes and the like but, really, how many times will the average Scribus user need something like 3D Perspective text?

Might it not be better to stop adding new special stuff that the average user will never use and even lose some of the functions that are already there but aren't used much? ("Fish Eye Lens" function, I'm looking at you! )

The less code that's in there dealing with stuff that is hardly used the more the developers will be able to concentrate on making the core functions of Scribus rock solid which is what the vast majority of users will depend on. (It's not "sexy" and fun but it's very important.)

I know it's nice to get new functionality - and I've asked for plenty in the past myself - but would now not be a good time to make sure that Scribus does what it currently does as well as possible?

Anyway, some comments on what's been written by previous posters:

1. In my opinion Mesh Distortion doesn't work well enough to be a properly usable tool. You can't see what it will do on the page until your press OK, you have no precision over what you can do, and you can't undo what it's done. Can it be dropped as a feature until it works well?

2. I'd say that "making letters higher or wider" is a typography thing rather than a distortion thing so I don't really think it needs to be discussed here.

3. I'd say that attaching text to a path was more of a typography thing than a distortion thing too. The letters don't change shape, only their positions do, so I think that's a separate thing also.

4. Skewing geometries is available via the Transform function, along with Translate, Rotate and Scale. Since these functions are available via other tools would now be a good time to think about either dropping this function or adding a lot of the other transform/deform functions into it. (At present it's not much more than a way of testing those functions.)

5. Fitting text into a shape is very much dependant on how the shape is drawn and from which starting node. If you start drawing the shape from the bottom left and go clockwise, it's a very different shape to one that is drawn starting from the top right and going anticlockwise (see the Inkscape Perspective Transform for an idea of what happens). As you can't change the starting node and direction of drawing in Scribus - for standard shapes - you can't be certain of what will happen. (For example, where is the start node in an "Up Arrow"?)

6. I'd say that distortion of images should be left to something like GIMP. Is it really a layout and typography thing? And if not, should it be in Scribus?

Bottom line: Shouldn't we leave all of the "special effects" to the software that already does it really well and let the Scribus developers concentrate on the core functions such as layout and typography?

And now I'll sit back and wait for angry replies from people who haven't read what I've written right at the top of this post.

Laser

Hi Garry!


Not angry at all - you are right.

As you can see in the first post, I said that it is worked on different ways for one thing. I also think taht this is not useful. So I asked what would be the best way to concentrate on.

After sending the last post I thought about images - and there is really no need to distort them in Scribus. I just had this idea as it's already possible to stretch images horizontally and vertically.

Text on the other hand would be a nice have to in a DTP.
As a not programmer I think it should be possible to edit form of a text frame and then click "fit text to form" or something like this. In a moderate way - you will not be able to fit text to a star. But an oval, a trapezoid or like perspective should be possible.
Here is an external programm very uncomfortable as for every minor change you have to reproduce the whole workflow.

If you could work precise with mesh distortion - and if you have the ability to change the number of points - it would be another possible way. Perspective for example would be perfect if you only have 4 points.


Thanks for your answer and kind regards
Laser

GarryP

Hi Laser.

I think we both agree that the mesh distortion tool isn't very good at the moment. It might be a good thing to keep and make better but only if it is made better. If it's kept as it is then I don't really see much use for it. (I sometimes do use it for quick experiments but, as you and I have both said, it's not accurate enough for what I'd think of as "real world" applications.) I think you're right that a four point option would actually be much more useful than how it is at the moment. At least that way you could do things that look right without a lot of messing around.

I agree that text distortion is a bit difficult in Scribus at the moment. Generally you have to convert to outlines and then apply transforms which are mostly undo-able/un-reset-able and the link to the original text has gone. I couldn't tell you the number of times I've had to redo things over and over again to get things just right. I tend to keep copies of what I'm manipulating at each stage so I can easier go back a stage if things don't turn out right. That's not a 21st-century workflow.

As for image distortion, I agree that it would be nice to have inside Scribus but for the number of times it would actually be used by users I can't see it being worthwhile for a developer to devote time to as opposed to, for example, RTL text. As you say, it means that you have to go to an outside application to get it done and that means learning another bit of software but knowing about photo manipulation software is something that any serious DTPer (Is that a word? DTPista? Layoutmonger?) should have in their box of tricks. Having to switch between software can be a pain at times but a bit of planning always helps.

If I was going to dream about what I'd want then I'd probably like something like a "distortion map" that could be applied to any object. This could be a grid overlay that could be applied to an object (text frame, image, etc.) which you would manipulate by dragging points/lines on the grid or by applying transforms (skew, rotate, etc.) directly to the object as it is on the canvas without having to go into dialog boxes. A bit like how the GIMP shear/scale/perspective tools work now but all together in one tool that keeps a copy of the original so it's easy to reset. I've no idea how that would work but it's nice to dream!

Laser

Hi Garry!


Just quick before I have to leave the building^^

I guess image distortion would be the easiest as graphicsmagick is a dependency - I bet horizontal distortion also works with graphicsmagick.
Someone (tm) "just" would have to implement -distort Perspective. With absolute numbers and feedback when moving the points via mouse.
But as said I'm not a programmer.

And no need for a DTP. KISS - this is the ordinary job for Inkscape, *magick or Gimp, Krita and others.

Text is imho important for DTP.
»In Word I can make these funny looking distorted headlines - in the rainbow colors! What is this Scribus good for at all?«
I guess we all don't want to hear this competition of Word and Scribus :-D


Regards
Laser

Laser

Hi!

I tried a little and found workarounds.

For images you can use Gimp - althought it is not very comfortable. I would make the part for the image transparent and the image with perspective a little bigger than the transparent part... It's a lot of clicking^^ (attachment Zei23.png)

Or you can use Inkscape and scan it 256 times for redraw bitmap - the colors ain't perfect, but ok for small documents. (attachment Zei22-Seite001.png)
Same with text - Inkscape. (attachment Zei4.png)

The voodoo is to create the "frame" with Scribus, remove the background image and export to svg.
This frame you can take as border for the image or text in Inkscape - you just have to rotate text or image 90° to the right(?) as Scribus starts at top left and Inkscape wants to start at bottom left ;-)
Et voila - you get the image or text fitting perfectly after importing the svg into Scribus again :-)

Regards
Jochen


[attachment deleted by admin]