C#+ArcEngine打印横向和纵向调整

在用C#开发ArcEngine程序实现Pagelaylout打印功能的时候,在实现横向打印的时候,总会出现如下图的情况

通过修改axPageLayoutControl1.Page.Orientation = 1;属性发现也不作用;需要通过修改IMapFrame进行修改能够实现横向和纵向的合理变化;

横向显示代码如下

    IMap pMap;

    IGraphicsContainer pGraphicsContainer;

    IMapFrame pMapFrame;

    pMap = axPageLayoutControl1.ActiveView.FocusMap;

    pGraphicsContainer = (IGraphicsContainer)axPageLayoutControl1.PageLayout;

    pMapFrame = (IMapFrame)pGraphicsContainer.FindFrame(pMap);

    ISymbolBorder pSymborder = new SymbolBorderClass();

    pSymborder.CornerRounding = 0;

    IBorder pBorder = pSymborder;

    pMapFrame.Border = pBorder;

    pMapFrame.ExtentType = esriExtentTypeEnum.esriExtentBounds;

    IElement pElement = (IElement)pMapFrame;

    IEnvelope pEnvelop =  new EnvelopeClass();

    pEnvelop.PutCoords(0.5, 0.5, 29.2, 20.5);   //这里设置mapframe的大小

    IGeometry pGeometry = pEnvelop;

    pElement.Geometry = pGeometry;

    IPage pPage = axPageLayoutControl1.Page;

    pPage.Orientation = 1;

    pPage.PutCustomSize(29.7, 21.0);  //这里设置page的大小

    axPageLayoutControl1.ActiveView.Refresh();

效果如下图

    IMap pMap;

    IGraphicsContainer pGraphicsContainer;

    IMapFrame pMapFrame;

    pMap = axPageLayoutControl1.ActiveView.FocusMap;

    pGraphicsContainer = (IGraphicsContainer)axPageLayoutControl1.PageLayout;

    pMapFrame = (IMapFrame)pGraphicsContainer.FindFrame(pMap);

    ISymbolBorder pSymborder = new SymbolBorderClass();

    pSymborder.CornerRounding = 0;

    IBorder pBorder = pSymborder;

    pMapFrame.Border = pBorder;

    pMapFrame.ExtentType = esriExtentTypeEnum.esriExtentBounds;

    IElement pElement = (IElement)pMapFrame;

    IEnvelope pEnvelop =  new EnvelopeClass();

    pEnvelop.PutCoords(0.5, 0.5, 20.5,29.2);   //这里设置mapframe的大小

    IGeometry pGeometry = pEnvelop;

    pElement.Geometry = pGeometry;

    IPage pPage = axPageLayoutControl1.Page;

    pPage.Orientation = 2;

    pPage.PutCustomSize(21.0, 29.7);  //这里设置page的大小

    axPageLayoutControl1.ActiveView.Refresh();

效果如下图

本实例使用A4纸张的尺寸进行测试,具体的应用还要根据实际的情况进行设置。

纵向显示代码如下

时间: 2024-11-03 21:54:55

C#+ArcEngine打印横向和纵向调整的相关文章

【练习6.14】积分图像cvIntegral及使用积分图的性质找横向和纵向边,IplImage结构中widthStep细节

提纲 题目要求 程序代码 结果图片 要言妙道 题目要求: 加载一副灰度图,得到它的积分图.利用积分图的性质找到图像里的横向和纵向边缘. 利用细长的矩形,在适当的位置减去或加上它们. 备注:边缘查找尚未加入代码 程序代码: 1 // OpenCVExerciseTesting.cpp : 定义控制台应用程序的入口点. 2 // 3 //D:\\Work\\Work_Programming\\Source\\Image\\lena.jpg 4 5 #include "stdafx.h" 6

有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。 输入描述: 第一行为一个整数n

有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置).小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界).大反派超超想去捕捉可爱的小易,他手里有n个陷阱.第i个陷阱被安置在横坐标为xi ,纵坐标为yi 的位置上,小易一旦走入一个陷阱,将会被超超捕捉.你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易. 输入描述: 第一行为一个整数n(n ≤ 1000),表示超超一共拥有n个陷阱. 第二行有n个整数xi,表示第i个陷阱的横坐标 第三行

CAD编辑器中怎么设置打印横向CAD图纸?

CAD编辑器中怎么设置打印横向CAD图纸?建筑设计师们每天都有许多CAD图纸需要进行编辑,但是编辑完成之后还需要交给客户进行查看,但是你的客户要求你把CAD图纸进行打印出来,那么在CAD编辑器中怎么设置打印横向CAD图纸?具体要怎么来进行操作?下面就使用迅捷CAD编辑器标准版来教教大家具体操作过程,希望能够帮助到你们,想要了解的小伙伴们也可以一起来看看. 第一步:首先,打开电脑,在电脑桌面上任意的打开一个浏览器,在浏览器的搜索框中搜索迅捷CAD编辑器(标准版),然后在搜索的结果中,点击官网进行,

文本的横向与纵向的调整

可以使用与UILabel相同的textAlignment属性来设置文本输入框中显示文本字符串的横向位置.但是与UILabel不同的是,文本输入框中文本的纵向位置默认为与输入框上方对齐.如果想让其居中,可以将UIControl的contentVerticalAlignment属性设置为UIControlContentVerticalAlignmentCenter.

Java横向、纵向合并图片

进行图片对比时候想把两张有差异的图片放到一起,方便人工查看下,在网上搜了一些,有纵向合并的. 将纵向合并的自己调整了下,源码如下: import java.io.File; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class TestPic { public static void main(String[] args) { xPic(); } public static void xPi

c# excel print 打印 将所有列调整为一页

excel有时候列数比较多,行数也比较多,转换成xps文档的时候,一般是通过打印来实现. 由于打印的范围限制,所以会出现本来在一行的数据,由于列数比较多,溢出范围,被打印到两页了. 为解决这个问题,需要设置一下sheet的缩放. 1.测试缩放在excel程序中: 在excel程序中有打印设置,如图(默认是无缩放的): 设置缩放(将所有列调整为一页),如图: 经过测试,这样设置后的打印效果,同一行的数据打印后在同一页了. 2.c#代码实现: 代码实现的方式是设置WorkSheet的PageSetu

利用css制作横向和纵向时间轴

Html代码: <div class="container"> <p>原文地址:http://www.cnblogs.com/xiaofeixiang/</p> <ul class="time-horizontal"> <li><b></b>成立</li> <li><b></b>合作</li> <li><b

关于idea的目录结构如何变成树状,也就是横向变纵向

横向 竖向 方法: 原文地址:https://www.cnblogs.com/zhangyouwu/p/9277357.html

SQL查询&mdash;&mdash;同一张表的横向与纵向同时比较

表名:student 表结构及数据: +----+--------+---------+------+------------+--------------+---------+ | id | name   | english | math | birthday   | native_place | chinese | +----+--------+---------+------+------------+--------------+---------+ |  1 | 潘怡茹 |