vb点虐 获取hdc vbnet getobject

用VB.Net 编程时如何获得打印机的物理边距

网络上找到这个比较全面,汪手野你试一下,我记得以前也是这么设置的。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、李沧网站维护、网站推广。

int GetDeviceCaps( HDC hdc, int nIndex);

其中,hdc用来指定设备环境句柄,nIndex用来指定要获取的参量索引,对于打印机而言,它常常需要下列的预定义值:

LOGPIXELSX 打印机水平分辨率

LOGPIXELSY 打印机垂直分辨率

PHYSICALWIDTH 打印纸的实际宽度

PHYSICALHEIGHT 打印纸的实际高度

PHYSICALOFFSETX 实际可打印区域的物理左边距

PHYSICALOFFSETY 实际可打印区域的物理上边距

下面的函数代码就是用来设置页边距,并且还计算页面的物理边距:

void CEx_Prn1View::SetPageMargin(CDC *pDC, CPrintInfo *pInfo, int l, int t, int r, int b)

// l, t, r, b分别表示左上右困喊下边距, 单位为0.1mm

{

int nOldMode = pDC- GetMapMode();

pDC- SetMapMode(MM_LOMETRIC);

// 计算一个设备单位等于多少0.1mm

double scaleX = 254.0 / (double)GetDeviceCaps(

pDC- m_hAttribDC, LOGPIXELSX);

double scaleY = 254.0 / (double)GetDeviceCaps(

pDC- m_hAttribDC, LOGPIXELSY);

int x = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALOFFSETX);

int y = GetDeviceCaps(pDC-薯陵 m_hAttribDC,

PHYSICALOFFSETY);

int w = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALWIDTH);

int h = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALHEIGHT);

int nPageWidth = (int)((double)w*scaleX + 0.5);

// 纸宽,单位0.1mm

int nPageHeight = (int)((double)h*scaleY + 0.5);

// 纸高,单位0.1mm

m_nPhyLeft = (int)((double)x*scaleX + 0.5);

// 物理左边距,单位0.1mm

m_nPhyTop = (int)((double)y*scaleY + 0.5);

// 物理上边距,单位0.1mm

pDC- DPtoLP(pInfo- m_rectDraw);

CRect rcTemp = pInfo- m_rectDraw;

rcTemp.NormalizeRect();

m_nPhyRight = nPageWidth - rcTemp.Width() -

m_nPhyLeft; // 物理右边距,单位0.1mm

m_nPhyBottom = nPageHeight - rcTemp.Height() -

m_nPhyTop; // 物理下边距,单位0.1mm

// 若边距小于物理边距,则调整它们

if (l m_nPhyLeft) l = m_nPhyLeft;

if (t m_nPhyTop) t = m_nPhyTop;

if (r m_nPhyRight) r = m_nPhyRight;

if (b m_nPhyBottom) b = m_nPhyBottom;

// 计算并调整pInfo- m_rectDraw的大小

pInfo- m_rectDraw.left = l - m_nPhyLeft;

pInfo- m_rectDraw.top = - t + m_nPhyTop;

pInfo- m_rectDraw.right -= r - m_nPhyRight;

pInfo- m_rectDraw.bottom += b - m_nPhyBottom;

pDC- LPtoDP(pInfo- m_rectDraw);

pDC- SetMapMode(nOldMode);

// 恢复原来的映射模式

}

vb点虐 截屏 ,获取活动窗口

'模块中

Declare Function GetDC Lib "user32" (ByVal hwnd As Long) _

As Long

Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Declare Function BitBlt Lib "gdi32" _

(ByVal hDestDC As Long, ByVal x As Long, _

ByVal y As Long, ByVal nWidth As Long, _

ByVal nHeight As Long, ByVal hSrcDC As Long, _

ByVal xSrc As Long, ByVal ySrc As Long, _

ByVal dwRop As Long) As Long

'form1中

Private Sub Command1_Click()

Dim hDCtmp As Long, picWidth As Double, picHeight As Double

Dim x As Double

Dim y As Double

x = Val(Text2.Text)

y = Val(Text3.Text)

picWidth = Val(Text3.Text)

picHeight = Val(Text4.Text)

hDCtmp = GetDC(0)

BitBlt Picture1.hdc, 0, 0, picWidth, picHeight, hDCtmp, x, y, vbSrcCopy

ReleaseDC 0, hDCtmp

End Sub

目的: 将屏幕按照指定坐标和大小进行截取成图,在picture1显示

问题: 大小是相同了,为什么截取的坐标不对,只是屏幕上的左上

相信大家都用过QQ截图功能。不过很多人并没有真正掌握好它的用法。将QQ截图与其它截屏和制图软件配合使用,会有意想不到的效果。

获取颜色的RGB值

我们在编辑图片或网页的时候,经常需要获取某种颜色的“RGB值”,所以很多人都安装了第三方的颜色吸取工具。其时用QQ截图键即可获取屏幕上任意颜色的RGB值。

当按下“Ctrl+Shift+A”弹出“截图”提示框时,提示框中的“当前像素RGB”即为当前鼠标含老屏幕位置的颜色RGB值,将鼠标移动到你想查看的屏幕颜色上即可获得相应的RGB值(如图1)。

图1精确截取图片大小

有时我们对要使用的截图尺寸有严格要求,比如论坛签名或QQ头像等。用QQ截图键可以按尺寸精确截取,一步到位无需再进行后期裁剪了。

按下QQ截图键,按住鼠标不放选取截取范围时,在鼠标上方会有一个信息框显示当前范围的详细信息,其中“矩形大小”就是以像素来表示迅宽的图片的尺寸大小,括号内的数字分别表示的是长和高(如图2)。松开鼠标调亩老亮整截图框时,对照“矩形大小”就可以按需要的尺寸来精确截图范围,然后用鼠标点住截图框将截图框拖到要截取的图片上,双击即可获得所需尺寸的图片了。

图2图片拼贴好帮手

大部分的截图软件一次只能截取一张图片,当要截取多张图片并进行拼贴组合时,就需要一张一张截取全部保存后再进行拼贴操作,非常麻烦。

我们知道用QQ截图键截取的图片可以在任一个可以粘贴图片的程序中使用,这样只需用截图软件进行一次截图操作,剩下的图片用QQ截图键来截取,然后依次粘贴到截图软件的窗口中即可快速进行拼贴操作了,是不是很方便啊。

小提示:QQ截图键无需打开聊天窗口即可使用,截取的图片在任一可粘贴图片的程序窗口中如画图、Word等,使用“粘贴”命令即可使用

vb点虐 2008 如何将指定的窗体截图并保存

INTOUCH自带的就有,打印锋瞎屏幕的命令

自己写个时间条件运行那命令就可以了

PRINTSCREEN这个命令 具体怎么用 看下帮助

希望我的回答对你有所帮助

如有仿蠢其他问题,可以继续追问,您的采纳是我前进的动力银大空!

网站名称:vb点虐 获取hdc vbnet getobject
转载注明:https://www.cdcxhl.com/article6/ddpspig.html

成都网站建设公司_创新互联,为您提供虚拟主机移动网站建设手机网站建设品牌网站设计网站排名品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设