如何使用PDFBox绘制填充矩形?
我只是找不到PDFBox API文档的正确功能.
我想在表格的第一行下面绘制一个填充的矩形:
public static void drawTable(PDPage page, PDPageContentStream contentStream,
float y, float margin,
String[][] content) throws IOException {
final int rows = content.length;
final int cols = content[0].length;
final float firstRowHeight = 160f;
final float rowHeight = 20f;
final float colWidth = 15f; //tableWidth/(float)cols;
final float tableWidth = colWidth * cols; //page.findMediaBox().getWidth()-(2*margin);
final float tableHeight = rowHeight * rows + firstRowHeight - rowHeight;
final float cellMargin= 5f;
/*PDRectangle rectangle = new PDRectangle();
rectangle.setLowerLeftX(10);
rectangle.setLowerLeftY(10);
rectangle.setUpperRightX(10);
rectangle.setUpperRightY(10); …Run Code Online (Sandbox Code Playgroud) 使用以下代码:
Storyboard storyBoard = new Storyboard();
DoubleAnimation doubleAnimation = new DoubleAnimation();
doubleAnimation.From = From;
doubleAnimation.To = To;
doubleAnimation.Duration = new Duration(new TimeSpan(0, 0, 0, seconds, miliseconds));
Storyboard.SetTarget(doubleAnimation, Target);
Storyboard.SetTargetProperty(doubleAnimation, FrameworkElemProperty);
storyBoard.Children.Add(doubleAnimation);
storyBoard.Completed += storyBoard_Completed;
storyBoard.Begin();
Run Code Online (Sandbox Code Playgroud)
作为FrameworkElemProperty,"Opacity"非常适用,但是当我尝试设置"Height"/"Width"属性的动画时,不适用于Rectangle.有人知道这里发生了什么吗?Microsoft Framework方面是否有任何问题,或者这需要任何魔术添加?(不透明度和高度是FrameworkElement的相同属性,因此预计它将以相同的方式运行)在Silverlight中完美地工作..
我有一个奇怪的具体问题:
什么是最有效的方法(导致最小数量的长方体)将任何大小的长方体(具有整数尺寸)划分为体积为4096或更小的长方体(具有整数尺寸)?
例如,给定234x45x322的面积,将它分成长方体的最有效方法是什么?我应该制作尽可能多的16 ^ 3长方体,然后二元搜索其余的尺寸?我应该尝试将其划分为大小均匀的矩形吗?
(我将在Lua中实现这一点,但这对解决方案来说并不是那么重要)
我想计算矩形的质心,矩形的坐标如下:
co_ord = (601, 1006,604, 1009) ## (xmin,ymin,xmax,ymax)
Run Code Online (Sandbox Code Playgroud)
有人可以指出一个简单的方法。谢谢
黑色形状是需要提取的文本:
到目前为止,我已经从列中提取了文本,但是是手动提取的,因为只有 5 个(对区域使用 Rectangle 类)。我的问题是:有没有办法对行执行此操作,因为矩形的大小(高度)不同,并且手动对 50 多行执行此操作将是一种暴行?更具体地说,我可以使用函数根据每行的高度更改矩形吗?或者有什么建议可能有帮助吗?
我正在尝试创建一个带角度的绘图工具。我创建了一个可以在画布元素上绘制矩形的工具,该工具工作正常,但我一次只能绘制一个矩形,我只是不知道如何“清除”前一个矩形并保持在我的画布上多次绘制。我无法清除许多画布,因为我要绘制更多图画,而不仅仅是矩形。
rectangleDrawing() {
// first coordinates when clicked
let startX = 0;
let startY = 0;
const rect = this.canvasEl.getBoundingClientRect();
fromEvent(this.canvasEl, "mousedown")
.pipe(
switchMap((e:MouseEvent) => {
startX = e.clientX - rect.left;
startY = e.clientY - rect.top;
return fromEvent(this.canvasEl, 'mousemove').pipe(
takeUntil(fromEvent(this.canvasEl, 'mouseup')),
takeUntil(fromEvent(this.canvasEl, 'mouseleave'))
)
})
).subscribe((event:MouseEvent) => {
let x = event.clientX - rect.left;
let y = event.clientY - rect.top;
let width = x - startX;
let height = y - startY;
this.setCanvasProperties(10, 'square', 'rgba(255,158,43,0.6)');
this.cx.beginPath();
// if I comment …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VNDetectRectangleRequest苹果的 Vision 框架来自动抓取卡片的图片。然而,当我转换点来绘制矩形时,它是畸形的并且不遵循矩形。我一直在密切关注这篇文章
一个主要区别是我将 CameraCaptureVC 嵌入到另一个 ViewController 中,以便仅当卡位于这个较小的窗口中时才会扫描该卡。
下面是我如何在父 vc 中设置相机 vc(从 viewDidLoad 调用)。
func configureSubviews() {
clearView.addSubview(cameraVC.view)
cameraVC.view.autoPinEdgesToSuperviewEdges()
self.addChild(cameraVC)
cameraVC.didMove(toParent: self)
}
Run Code Online (Sandbox Code Playgroud)
下面是绘制矩形的代码
func createLayer(in rect: CGRect) {
let maskLayer = CAShapeLayer()
maskLayer.frame = rect
maskLayer.cornerRadius = 10
maskLayer.opacity = 0.75
maskLayer.borderColor = UIColor.red.cgColor
maskLayer.borderWidth = 5.0
previewLayer.insertSublayer(maskLayer, at: 1)
}
func removeMask() {
if let sublayer = previewLayer.sublayers?.first(where: { $0 as? CAShapeLayer != nil }) {
sublayer.removeFromSuperlayer()
}
}
func drawBoundingBox(rect : VNRectangleObservation) {
let …Run Code Online (Sandbox Code Playgroud) 我想创建一个蓝色线条轮廓和黑色填充的墙.我现在只有一个蓝色的墙,我尝试了几个图形方法,但没有工作.
public void paint(Graphics g) {
g.setColor(Color.blue);
g.fillRect(x, y, size, size);
}
Run Code Online (Sandbox Code Playgroud) 我使用以下代码找到从Android相机中找到捕获图像的最大矩形:
private static Mat findLargestRectangle(Mat original_image) {
Mat imgSource = original_image;
Bitmap bmpOriOut = Bitmap.createBitmap(imgSource.cols(), imgSource.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(imgSource, bmpOriOut);
try {
bmpOriOut.compress(CompressFormat.JPEG, 100, new FileOutputStream("/sdcard/mediaAppPhotos/original.jpg"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//convert the image to black and white, commenting this wont crash
Imgproc.cvtColor(imgSource, imgSource, Imgproc.COLOR_BGR2RGB);
//convert the image to black and white does (8 bit), commenting this crashes
Imgproc.Canny(imgSource, imgSource, 50, 50);
//apply gaussian blur to smoothen lines of dots, commenting this crashes
Imgproc.GaussianBlur(imgSource, …Run Code Online (Sandbox Code Playgroud) 我在具有4个节点的地图上定义了一个矩形。
每个节点都是一对(X,Y)
X:纬度
Y:经度
X,Y:地理坐标(具有双精度值)
我想检查点 (X,Y)是否在该矩形内。
该点将是用户的当前位置(当前位置来自手机的GPS输出)
是否有特定的数学公式?如何确定特定点是否属于矩形?
原因我想在C#中实现它。
rectangles ×10
java ×3
c# ×2
pdfbox ×2
algorithm ×1
android ×1
angular ×1
animation ×1
apple-vision ×1
centroid ×1
contour ×1
coordinates ×1
fill ×1
geometry ×1
graphics ×1
html5-canvas ×1
ios ×1
lua ×1
mouseevent ×1
opencv ×1
paint ×1
point ×1
python ×1
storyboard ×1
swift ×1