我在使用 PdfBox 生成分层 pdf 页面时遇到问题。我在这里看到了几篇关于这个主题的帖子,但他们专注于将页面从另一个 pdf 导入到目标文档。
我的情况有点不同(至少我这么认为:))。我创建了一个 MapImage 类,它包含纸张大小(以像素为单位)和我想添加到单个 pdf 页面的 BufferedImages 列表。
这是我尝试过的代码:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PDDocument document = new PDDocument();
for (MapImage image : images) {
PDPage page = new PDPage(new PDRectangle(image.getPaperWidth(), image.getPaperHeight()));
page.setResources(new PDResources(new COSDictionary()));
document.addPage(page);
LayerUtility layerUtility = new LayerUtility(document);
int i=1;
for(BufferedImage layer : image.getLayers()) {
PDJpeg img = new PDJpeg(document, layer);
layerUtility.appendFormAsLayer(page, new PDXObjectForm(img.getCOSStream()), new AffineTransform(), "Layer " + i++);
}
}
document.save(baos);
document.close();
Run Code Online (Sandbox Code Playgroud)
不幸的是,生成的 PDF 已损坏。我设法创建了一个只有一张图像(没有图层)的页面,但不幸的是我不知道如何做到这一点。
有没有人遇到过这样的问题?
我有一个NSView像这样的in接口构建器:

我在视图(videoView)内部有按钮和标签,用于控制视频的播放。当我AVPlayerLayer像这样向视图添加(myPlayerLayer)时:将
self.videoView.layer?.addSublayer(myPlayerLayer)
其添加AVPlayerLayer为顶层,从而覆盖按钮。如何将播放器图层添加到背面,使其不覆盖其他任何内容?
非常感谢。
我必须解析 dxf 文件以将其转换为 .net 中的图像。
我使用了 DxfLib(https://github.com/mkernel/DXFLib)。
我在图层方面遇到问题:我有 3 层,只需要显示一层(我在某些 dxf 查看器中上传了我的文件,它们只显示一层)
我不知道如何知道是否需要显示图层。我在 dxf 解析文件中没有找到该信息。
你知道我在哪里可以找到这个吗?(也许这是 DxfLib 中缺少的元素)
编辑:有一个我的 dxf 文件的示例:https://github.com/mkernel/DXFLib/files/286112/DIAMOND-R.zip
我正在尝试为 UITableView 实现这一方面:https ://www.dropbox.com/s/bcp86myyjgek1kt/Screenshot%202016-11-04%2014.04.14.png ? dl =0我被卡住了。
我遵循了 Atul Manwar 的回答:
func applyZigZagEffect(givenView: UIView) {
let width = givenView.frame.size.width
let height = givenView.frame.size.height
let givenFrame = givenView.frame
let zigZagWidth = CGFloat(7)
let zigZagHeight = CGFloat(5)
let yInitial = height-zigZagHeight
var zigZagPath = UIBezierPath()
zigZagPath.moveToPoint(CGPointMake(0, 0))
zigZagPath.addLineToPoint(CGPointMake(0, yInitial))
var slope = -1
var x = CGFloat(0)
var i = 0
while x < width {
x = zigZagWidth * CGFloat(i)
let p = zigZagHeight * CGFloat(slope)
let y = …Run Code Online (Sandbox Code Playgroud) 我在 viewdidload() 中应用了以下代码,但使用此代码边框已到达但它随表格内容滚动。我想在顶部和底部修复边框。
这里我的代码是->
let topBorder = CAShapeLayer()
let topPath = UIBezierPath()
topPath.move(to: CGPoint(x: 0, y: 0))
topPath.addLine(to: CGPoint(x: tblFilter.frame.width, y: 0))
topBorder.path = topPath.cgPath
topBorder.strokeColor = UIColor.red.cgColor
topBorder.lineWidth = 1.0
topBorder.fillColor = UIColor.red.cgColor
tblFilter.layer.addSublayer(topBorder)
let bottomBorder = CAShapeLayer()
let bottomPath = UIBezierPath()
bottomPath.move(to: CGPoint(x: 0, y: tblFilter.frame.height))
bottomPath.addLine(to: CGPoint(x: tblFilter.frame.width, y: tblFilter.frame.height))
bottomBorder.path = bottomPath.cgPath
bottomBorder.strokeColor = UIColor.red.cgColor
bottomBorder.lineWidth = 1.0
bottomBorder.fillColor = UIColor.red.cgColor
tblFilter.layer.addSublayer(bottomBorder)
Run Code Online (Sandbox Code Playgroud)
给我建议,谢谢
我想使用 scapy 创建一个新层。我创建了一个新图层,但是当我将其发送到另一台计算机时,它丢失了,Wireshark 也无法识别它。我怎么解决这个问题?
class OMER(Packet):
name = "OMER"
fields_desc = [StrLenField("Omer", "", None)]
Run Code Online (Sandbox Code Playgroud) 我正在尝试根据前一层 normal (None,128,128,3)、albedo(None,128,128,3) 和照明 (27) 的三个输入重建图像。但是这里的代码仍然说 object has no attribute '_expects_mask_arg' error 。我在这里展示了我的代码,其中我使用高级 API 使用 Tensorflow v2 beta 实现了一个自定义层。
导入数学类 Reconstruction_Layer(tf.keras.layers.Layer):
def __init__(self,input_shape ):
super(Reconstruction_Layer, self).__init__()
#self.num_outputs = num_outputs
#self.pixel=np.zeros((9),dtype=int)
self.sphar=np.zeros((9),dtype=float)
self.y=np.zeros((9),dtype=float)
self.reconstructed_img=np.zeros((128,128,3),dtype=float)
#self.y=tf.zeros([128,128,9])
self.normal_light=np.zeros((128,128,9),dtype=float)
self.y_temp=np.zeros((9),dtype=float)
w_init = tf.random_normal_initializer()
self.r_img = tf.Variable(initial_value=w_init(shape=input_shape),dtype='float32',trainable=True)
def build(self,input_shape):
super(MyLayer, self).build(input_shape)
def call(self,input_layer):
self.normal,self.albedo,self.light = input_layer
for i in range(128):
for j in range(128):
#self.y=spherical_harmonic_calc(self.normal(i,j))
self.pixel=self.normal[i,j,:]
#self.normal_light(i,j)= self.y
self.sphar[0]=(1/((4*math.pi)**0.5))
self.sphar[1]=((3/(4*math.pi))**0.5)*self.pixel[2]
self.sphar[3]=(((3/(4*math.pi))**0.5)*self.pixel[1])
self.sphar[4]=((1/2)*((5/(4*math.pi))**0.5)*(3*(self.pixel[2]**2) - 1))
self.sphar[5]=(3*((5/(12*math.pi))**0.5)*self.pixel[2]*self.pixel[0])
self.sphar[6]=(3*((5/(12*math.pi))**0.5)*self.pixel[2]*self.pixel[1])
self.sphar[7]=((3/2)*((5/(12*math.pi))**0.5)*((self.pixel[0]**2)-(self.pixel[1]**2)))
self.sphar[8]=(3*((5/(12*math.pi))**0.5)*self.pixel[0]*self.pixel[1])
self.normal_light[i,j,:]=self.sphar
for j in range(128):
for k …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 React 上的 Mapbox 来控制图层上的事件侦听器。map.off 应该可以做到这一点,但它并没有删除图层中的 onclick 事件。https://docs.mapbox.com/mapbox-gl-js/api/map/#map#off
但我做错了,所以我无法删除该事件。这是我到目前为止所做的......
要添加事件,我这样做
map.on('click', 'building_footprints_click', addBuildingPopUp)
为了尝试删除它,我尝试过:
map.off('click', 'building_footprints_click', addBuildingPopUp);
map.off('click', 'building_footprints_click');
map.off('click', addBuildingPopUp);
但他们都没有工作。我读到我必须发送 on 事件的实例。所以我尝试:
let event = map.on('click', 'building_footprints_click', addBuildingPopUp)
以及与上面相同的三个关闭操作,但它们也不起作用
map.off('click', 'building_footprints_click', event);
map.off('click', 'building_footprints_click');
map.off('click', event);
还有监听器功能,我尝试过:
const addBuildingPopUp = (e) => {}
and
function addBuildingPopUp (e) {}
and
let addBuildingPopUp = function building (e) {}
Run Code Online (Sandbox Code Playgroud)
这是一个基本的 Stackblitz,其中包含非工作函数的示例 https://stackblitz.com/edit/react-5maykf?file=src/App.js