小编pet*_*ter的帖子

java:如何从Graphics对象获取'screen'维度

我正在开发一个几何程序,我需要绘制"无限"线.我的班级Line有一个方法

public void draw(Graphics2D g){
    //... calculate x1,y1,x2,y2 here ...
    g.draw(new Line2D.Double(x1,y1, x2,y2));
}
Run Code Online (Sandbox Code Playgroud)

我的想法是选择足够大的坐标,使它们离开可见表面.但我不知道,这是我的问题,我怎么知道可见表面角落的坐标?Graphic的方法getClip()听起来不错,但显然它只返回用户之前设置的自定义剪辑.显然我需要的是在文档中称为"设备剪辑".

在你建议一个很大的长度,比如10000之前,我不是指这里的像素大小.我使用变换进行缩放和翻译等,因此10000可能很明显.

编辑:我只想告诉你我最终做了什么:我为最大屏幕宽度和高度定义了一个相当大的常量(它们可能需要在10年内调整),然后我将当前显示变换的反转应用到这个'屏幕'知道我'无限'线的必要长度.即问题没有解决,只限于代码中的一个点.

java graphics dimensions

6
推荐指数
1
解决办法
7004
查看次数

vba:如何设置excel图表的宽度和高度(以像素为单位)?

一个看似简单的问题.但设定的宽度和高度ChartObject或它的Shape犯规做到这一点,他们都似乎是,白色矩形这是嵌入式图表的只是一些内部部分.也ChartArea似乎不是我感兴趣的对象.

我想要的是以下示例中的导出文件的尺寸为800x600(我并不意味着重新缩放导出的图像或试验和错误,直到大小意外地适合).图表周围一定有一些我忽略的对象.

Sub mwe()

Dim filepath As String
Dim sheet As Worksheet
Dim cObj As ChartObject
Dim c As Chart
Dim cShape As Shape
Dim cArea As chartArea

filepath = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, "\"))
Set sheet = ActiveSheet
Set cObj = sheet.ChartObjects(1)
Set c = cObj.chart
Set cShape = sheet.Shapes(cObj.Name)
Set cArea = c.chartArea

cObj.Width = 800
cObj.Height = 400
MsgBox cArea.Width & " x " & cArea.Height  '793x393
c.Export filepath & "test1.png"            '1067x534, this …
Run Code Online (Sandbox Code Playgroud)

excel charts vba

6
推荐指数
1
解决办法
4万
查看次数

VBA:什么参考"htmlfile"?

我发现了这些台词

Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
Set html = CreateObject("htmlfile")
Run Code Online (Sandbox Code Playgroud)

并希望在我的代码中使用它们.只有我喜欢intellisense和选项显式,所以我很快修改了第一个

'needs tools>references>microsoft xml, v5.0
Dim xmlHttp As MSXML2.xmlHttp: Set xmlHttp = New MSXML2.xmlHttp
Run Code Online (Sandbox Code Playgroud)

我的问题是:我如何为第二行做同样的事情?我需要参考什么才能写

dim html as htmlfile
Run Code Online (Sandbox Code Playgroud)

html vba dom

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

vba ×2

charts ×1

dimensions ×1

dom ×1

excel ×1

graphics ×1

html ×1

java ×1