-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grid Layout for Images - Box size inheritance not working? #46
Comments
Thank you for your report. I will look at it. At the first sight it seems as some problem in the layouting library. So far, there is no easier way (hmm, maybe you can play with flex_wrap so you can put everything in one box). Taffy, the layouting library used in Nelsie supports also a grid layout, but it is not exposed to Nelsie API now. But it should be quite straightforward to implement it, I just did not have a use case for it. I am putting it on my roadmap. Sorry for late response. I totally overlooked this issue. |
Can you please send me your image so I can replicate the problem exactly? (or just sizes of your image) One option for your problem can be set the sizes not to the row box but the images itself: |
Hi, thank you for the image. You can do it as follows: @deck.slide()
def test(slide):
row1 = slide.box(row=True, height="50%")
row2 = slide.box(row=True, height="50%")
row1.image(path="test.png", height="100%")
row1.image(path="test.png", height="100%")
row2.image(path="test.png", height="100%")
row2.image(path="test.png", height="100%") The reason is that box always tries to be as small as possible, so we have to first set heights to rows (as height in pixels, or percent from parent). Otherwise it will happily occupy 0px height and images will just take a portion of this 0 if their height is specified in %. (Note that the top level box is special and it has a fixed size, so it cannot collapse to zero). PDF size is not changed because PDF is a vector format. If you embed a raster image then it is saved in the original resolution. |
Btw: Your problem is similar to the #11 where I tried to explain it with more examples. |
Hi,
I am trying to produce something like the attached image (Fig. 1) essentially a slide with a 3x3 grid of images, with a title. I say this in case there is a much easier way to obtain this layout, and the issue I am experiencing is not an issue at all!
As a test, I am trying to create a 2x2 grid, using nested boxes:
This produces the output in Fig. 2, where the images are aligned in a grid but only a small portion is showing.
If I try to fix the heights, even very small ones, the images overlap as seen in Fig. 3.
If I individually set the height and width to "50%" for all the
.image()
lines, then the slide is completely blank!My questions are:
subplot
where you can create and populate a grid of boxes?Fig. 1 - Intended Output:
Fig. 2 - Slide without heights specified:
Fig. 3 - Slide with heights specified:
The text was updated successfully, but these errors were encountered: