Snapshot Region

Snapshot Region - Extends SMath Studio with a region that makes canvas' snapshots - Messages

#61 Posted: 7/5/2025 9:55:20 PM
Martin Kraska

Martin Kraska

1,245 likes in 2,169 posts.

Group: Moderator

I like the concept, yet I'd prefer the lines and tags to be in a gray tone similar to the grid lines. The idea is that these elements aren't meant for the reader of a sheet, just for the author, who wishes to create some screenshots.

image.png
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 users liked this post
sergio 7/6/2025 5:55:17 PM
#62 Posted: 7/6/2025 8:10:15 PM
Davide Carpi

Davide Carpi

1,430 likes in 2,891 posts.

Group: Moderator

As for now I think I'll leave the colors as they are, as I've already implemented colors customization for both the borders and the tag through the standard color dialogs of smath (It is only in the SVN, not implemented in the link shared before)

immagine.png
Edited 7/7/2025 9:11:42 AM
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
1 users liked this post
Martin Kraska 7/7/2025 2:44:49 PM
#63 Posted: 7/10/2025 2:09:46 PM
Davide Carpi

Davide Carpi

1,430 likes in 2,891 posts.

Group: Moderator

Wrote

Wrote

Would it be possible to increase the resolution of the screenshots?



I think with the current API is possible, I'll give it a shot later.



No results here, I've tried using the new IGraphics API but without meaningful results. Any hints Andrey?


                var ibmp = SMath.Drawing.Graphics.Specifics.CreateBitmap(max_X, max_Y);
                var SF = 2.0f;

                enumerator = region.Parent.GetRegionsEnumerator();

                using (var g = SMath.Drawing.Graphics.Specifics.GraphicsFromBitmap(ibmp))
                {
                    g.Scale(SF);
                    // Filter out every invisible Region (no need to draw Regions hidden by Compacted Areas)
                    enumerator.FilterInvisible = true;

                    // Iterate through all available Regions one by one
                    while (enumerator.MoveNext())
                    {
                        if (!(enumerator.Current is SnapshotRegion) && enumerator.Current.Location.X < max_X && enumerator.Current.Location.Y - enumerator.CollapsedHeight < max_Y)
                        {
                            // Draws graphical representation of the worksheet Region (TopCorrection is the height of hidden by Compacted Area worksheet part above the Region)
                            var regionBMP = enumerator.Current.DrawToBitmapScaled();
                            var pt= new PointF(enumerator.Current.Location.X, enumerator.Current.Location.Y - enumerator.CollapsedHeight);
                            g.DrawImage(regionBMP, pt);

// ....

Edited 7/10/2025 2:10:46 PM
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
  • New Posts New Posts
  • No New Posts No New Posts