iceman 发表于 2013-11-7 14:05:00

回复 8楼450289068的帖子

缩放后是否失真,我需要和厂商进行确认。在收到回复后,我会通知你。
打印效果和打印机设备有关。

450289068 发表于 2013-11-7 14:43:00

感谢版主关注 我急于需要是否失真的答案 敬等佳音~~~

还有 关于我的小问题 :
1. 设定列高度之后 发现填入图片后 原空白区域还是空白区域 图片插入到上方并且撑大列高度 怎么设定插入方式?还是重新设定列高度? 来不要撑开高度来保证模版整体大小不是第二页。因为设计模版的时候是按照整一页设计的,当数据填充后,就因为在邮件合并的点上插入了数据,剩下本来设定的空白 还是占据原有的空间和大小 并向下排列。
有没有什么设定 可以达到 当模版设计好之后 填充数据不会撑开原有设定的列高度?
怎么获取列高度 来判定是否已经变形 ,通过设定还是代码 ,来调整字体大小 已满足列不会被撑开。。

辛苦了斑竹。

iceman 发表于 2013-11-7 20:17:00

回复 12楼450289068的帖子

450289068 你好,
图像失真问题我已经发送给产品组,在得到回复后我会通知你。

限制页数为 1 的问题,我想可以通过获取 Table 的高度,调整图片比例来限制,获取适当的图片高度使其不变形。

450289068 发表于 2013-11-8 10:00:00

缩放到固定高度 是没有问题 可是如果首先在模版中设置好列高之后 ,我是应用mergefield来定位图片位置的。当我将图片插入到位置后 ,在此列中原先制作模版的空白还是那么多在存在 ,而且图片也因为有自身的设定高度 而撑开了原先模版列的设置高度 。有没有比较好的方法,或者做法 能提供下吗???

450289068 发表于 2013-11-8 10:02:00

首先获取列宽度,单位是twip 换算/15=像素。
计算原图和列宽比例值。将原图缩放到列宽比例。设置image属性,理想的情况 是图片应缩放为列的宽度显示 ,实际上却图片缩放很小 占不了原先模版设置的宽度。

版主遇到过吗?

iceman 发表于 2013-11-8 19:17:00

回复 14楼450289068的帖子

如果想要模板的页数控制在一页,就无法避免有空白的现象。
或者是高度和宽度安照不同比例设置,这样图像就失去比例了。不协调。
两者只能取其一。

如果是第一种情况,可以通过以下方法获取Table高度:
所以我们需要获取 Table 的高度来限制 Image 的比例,代码如下:

public int getTableHeight(TXTextControl.Table table)
      {
            int beginPos = 0;
            int endPos = 0;
            // Get Table
            table = textControl1.Tables.GetItem(0);
            // Get cell in first row
            TXTextControl.TableCell cell = table.Cells.GetItem(1, 1);
            textControl1.Selection.Start = cell.Start;


            /***********
             * Calculate BeginPoint.Y of table
             * *********/

            // Get first TextChar in Cell
            TXTextControl.TextChar textChar = textControl1.TextChars;
            // Get Rectangle.Position.Y of textChar
            beginPos = textChar.Bounds.Y;         // TWIPS
            // Deduct TopBorderWidth and TopTextDistance
            beginPos = beginPos - (cell.CellFormat.TopBorderWidth + cell.CellFormat.TopTextDistance); // TWIPS

            /*************
             * Calculate EndPoint.Y of table
             * ***********/
            // Get cell in last row
            cell = table.Cells.GetItem(table.Rows.Count, 1);
            textControl1.Selection.Start = cell.Start;
            // Get first TextChar in Cell
            textChar = textControl1.TextChars;
            // Get Rectangle.Position.Y and deduct Height of TextChar
            endPos = textChar.Bounds.Y + textChar.Bounds.Height;         // TWIPS
            // Add BottomBorderWidth and BottemTextDistance
            endPos = endPos + (cell.CellFormat.BottomBorderWidth + cell.CellFormat.BottomTextDistance);

            /************
             * Calculate Height
             * **********/

            int height = endPos - beginPos;      //TWIPS
            return height;                         //TWIPS
      }

450289068 发表于 2013-11-11 09:04:00

版主你好 谢谢你耐心的指导你的这个算法 和api中提供的table.Rows.GetItem().MinimumHeight是一样的吗?
这个api的属性 具体是什么时候使用 ??

450289068 发表于 2013-11-11 09:25:00

可能有些着急 ,不知道厂家对于我的问题 是否已经有回复了~

iceman 发表于 2013-11-11 13:54:00

回复 18楼450289068的帖子

450289068 你好,

MinimumHeight   指的是 Table 的最小值,而上面这个实现方法是实际值。
关于图像失真的问题,我已经给厂商发送了确认邮件。有消息会通知你。

谢谢

450289068 发表于 2013-11-11 14:03:00

我考虑用textframe来作为占位符尝试在textframe中插入图片用textframe的高度和宽度来做为基础 计算 。不知道这样的思路是否可行 。

好的 谢谢   版主辛苦了请尽快通知我。
页: 1 [2] 3 4
查看完整版本: 关于txtextcontrol中图片像素的问题