/// <summary> /// Create ThumbnailGrid the using desired # of columns. /// </summary> /// <param name="layout">The <see cref="ThumbnailPageLayout"/>.</param> /// <param name="nColumns">The desired # of columns.</param> /// <param name="aspectRatio">The thumbnail aspect ratio.</param> /// <returns> /// new <see cref="ThumbnailGrid"/> /// </returns> private static ThumbnailGrid CreateUsingNColumns(ThumbnailPageLayout layout, int nColumns, double aspectRatio) { int nRows; int thumbWidth; int thumbHeight; thumbWidth = layout.CalcThumbWidthFromNCols (nColumns); thumbHeight = (int) (thumbWidth / aspectRatio + 0.5); nRows = layout.CalcRowsFromThumbHeight (thumbHeight); ThumbnailGrid thumbnailGrid = new ThumbnailGrid (layout, nColumns, nRows, thumbWidth, thumbHeight); return thumbnailGrid; }
/// <summary> /// Create ThumbnailGrid the using desired columns & rows. /// </summary> /// <param name="layout">The <see cref="ThumbnailPageLayout"/>.</param> /// <param name="nColumns">The # of columns.</param> /// <param name="nRows">The # of rows.</param> /// <param name="aspectRatio">The thumbnail aspect ratio.</param> /// <param name="fitWidth">if set to <c>true</c>use page layout width, /// otherwise use page layout height.</param> /// <returns>new <see cref="ThumbnailGrid"/></returns> public static ThumbnailGrid CreateUsingRaw(ThumbnailPageLayout layout, int nColumns, int nRows, double aspectRatio, bool fitWidth) { int thumbWidth; int thumbHeight; if (fitWidth) { thumbWidth = layout.CalcThumbWidthFromNCols (nColumns); thumbHeight = (int) (thumbWidth / aspectRatio + 0.5); layout.AdjustHeight (nRows, thumbHeight); } else { thumbHeight = layout.CalcThumbHeightFromNRows (nRows); thumbWidth = (int) (thumbHeight * aspectRatio + 0.5); layout.AdjustWidth (nColumns, thumbWidth); } ThumbnailGrid thumbnailGrid = new ThumbnailGrid (layout, nColumns, nRows, thumbWidth, thumbHeight); layout.AdjustSize (thumbnailGrid); return thumbnailGrid; }