在模版生成器中制作的模版,怎么获取textframe和image
我使用tx模版生成器,制作了个模版,应用了textframe,在textframe中套了个image 整个页面包含手动添加进去3个 textframe和分别有3个Image。然后我使用代码去获取。请问如何获取每个textframe和每个image 除了foreach外 ,还能有其他办法获取吗 ??我使用 textControl1.TextFrames 出错,而用textControl1.TextFrames.GetItem(0);返回是null 但是textControl1.TextFrames.count 可以获取为3
求在没有动态设定id和name的情况下 如何获取每个特定的控件。 450289068
TX 中的绝大多数集合对象都无法通过数组下标进行访问,而需要通过id或者name进行访问,如果该对象没有id也没有name,只能通过 foreach 进行访问。 有没有填充的概念,比如我在模版设定了一个textframe,然后在其中放入了一个Image,想让image填充满textframe,自动对图片进行计算了缩放。。如果无这个功能,那怎么做可以达到这样的效果。 450289068
请参考这篇博客中接受的方法,以实现图片的大小自适应功能:http://blog.gcpowertools.com.cn/post/2013/11/12/TX_Text_Control_Image_AutoSize.aspx
private void InsertImage()
{
// 完成TX中使用的度量单位缇(Twip)与.NET使用的度量单位像素(Pixel)的转换
Graphics g = textControl1.CreateGraphics();
int iTwipsPerPixel = (int)(1440 / g.DpiX);
OpenFileDialog dlgOpen = new OpenFileDialog();
if (dlgOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
// 加载图片
Image tmp = Image.FromFile(dlgOpen.FileName);
// 获取图片父容器TextFrame
TXTextControl.TextFrame frame = textControl1.TextParts.GetMainText().TextFrames.GetItem(1000);
// 创建TX中的图片对象
TXTextControl.Image image = new TXTextControl.Image(tmp);
// 设置图片ID
image.ID = 1001;
//设置横向和纵向缩放比例属性,注意TextFrame中可用的空间范围应该减去Margin区域
image.HorizontalScaling = ((frame.Size.Width - frame.InternalMargins - frame.InternalMargins) * 100) / (tmp.Width * iTwipsPerPixel);
image.VerticalScaling = ((frame.Size.Height - frame.InternalMargins - frame.InternalMargins) * 100) / (tmp.Height * iTwipsPerPixel);
// 将图片插入到TextFrame中
textControl1.Images.Add(image, textControl1.InputPosition.TextPosition);
}
} 多谢 版主提供思路解决了 :mj72:
页:
[1]