小编Aub*_*bin的帖子

边界框中的itext多行文本

有没有人知道,如何在iText中,在边界框中添加多行文字(指定坐标).

我试过了

cb.showTextAligned(
    PdfContentByte.ALIGN_LEFT,
    text,
    bounds.getLeft(),
    TOTAL_HEIGHT-bounds.getTop(),
    0 );
Run Code Online (Sandbox Code Playgroud)

但它不支持换行.我也试过了

PdfContentByte cb = writer.getDirectContent();
cb.moveText(300,400);
document.add(new Paragraph("TEST paragraph\nNewline"));
Run Code Online (Sandbox Code Playgroud)

这支持换行但不对moveText作出反应,因此我不知道如何将它放在给定位置或更好:边界框.

我怀疑chunks或PdfTemplate或者表可能会有所帮助,但我(还)不知道如何把它放在一起.TIA寻求帮助.

java text position itext multiline

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

如何在Linux下支持Desktop类?

我正在编写一个java应用程序,我想在用户的默认Internet浏览器中打开我的程序的链接.我试着像这样使用类桌面:

if (Desktop.isDesktopSupported()) {
    Desktop desktop = Desktop.getDesktop();
    if (desktop.isSupported(java.awt.Desktop.Action.BROWSE)) {
        try {
            URI uri = new URI(url); // url is a string containing the URL
            desktop.browse(uri);
        }
        catch (URISyntaxException ex) {
            Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但首先如果返回false.我的操作系统是Ubuntu的最新版本.有人知道如何在java中支持该桌面吗?

java linux desktop hyperlink

8
推荐指数
2
解决办法
6864
查看次数

尝试在OpenCv中使用sift匹配两个图像,但匹配太多

我正在尝试实现一个程序,它将输入两个图像,一个是单独一个框的图像,另一个是包含场景中的框.基本上,该程序应该在这两个图像中找到关键点,并将显示匹配关键点的图像.最后我希望看到两个输入图像的附加图像以及它们匹配的关键点连接.我的代码如下:

#include <opencv2\opencv.hpp>
#include <iostream>

int main(int argc, const char* argv[]) {
   cv::Mat input1 = cv::imread("input.jpg", 1); //Load as grayscale
   //cv::cvtColor(input1,input1,CV_BGR2GRAY);
   //second input load as grayscale
   cv::Mat input2 = cv::imread("input2.jpg",1);
   cv::SiftFeatureDetector detector;
   //cv::SiftFeatureDetector
   detector(
      1, 1,
      cv::SIFT::CommonParams::DEFAULT_NOCTAVES,
      cv::SIFT::CommonParams::DEFAULT_NOCTAVE_LAYERS,
      cv::SIFT::CommonParams::DEFAULT_FIRST_OCTAVE,
      cv::SIFT::CommonParams::FIRST_ANGLE );
   std::vector<cv::KeyPoint> keypoints1;
   detector.detect(input1, keypoints1);
   // Add results to image and save.
   cv::Mat output1;
   cv::drawKeypoints(input1, keypoints1, output1);
   cv::imshow("Sift_result1.jpg", output1);
   cv::imwrite("Sift_result1.jpg",output1);
   //keypoints array for input 2
   std::vector<cv::KeyPoint> keypoints2;
   //output array for ouput 2
   cv::Mat output2;
   //Sift extractor of opencv
   cv::SiftDescriptorExtractor extractor; …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing sift

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

nvm代理设置配置文件

在Linux下,我使用$http_proxy$https_proxy效果很好的nodenpm,但nvm不会使用它们.

我应该在哪个配置文件中编写代理设置?

uname -a:Linux Breizh-Atao 3.19.0-32-generic#37~14.04.1-Ubuntu SMP Thu Oct 22 09:41:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

node.js nvm

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

可编辑的ComboBox

我想创建具有以下属性的可编辑组合框:

  1. 将text属性绑定到我的数据模型.
  2. 即使在选择已更改,数据模型也可能会覆盖GUI中的更改.例如,我可以选择1,2,3我选择2,但是一些组件下调将其更改为3.
  3. 更新以下事件的数据模型:

    1. 选择改变了
    2. 失去焦点
    3. 输入按下(应该与失去的焦点相同).

我已经能够创建这样的控件,但它非常难看(使用很多hacks),我希望有一种更简单的方法......

提前致谢

wpf combobox wpf-controls

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

MongoDb upsert异常无效的BSON字段

这个例外:

Exception in thread "Thread-1" java.lang.IllegalArgumentException: Invalid BSON field name id
    at org.bson.AbstractBsonWriter.writeName(AbstractBsonWriter.java:516)
    at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:188)
    at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:131)
    at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:45)
    at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63)
    at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:29)
    at com.mongodb.connection.UpdateCommandMessage.writeTheWrites(UpdateCommandMessage.java:85)
    at com.mongodb.connection.UpdateCommandMessage.writeTheWrites(UpdateCommandMessage.java:43)
    at com.mongodb.connection.BaseWriteCommandMessage.encodeMessageBodyWithMetadata(BaseWriteCommandMessage.java:129)
    at com.mongodb.connection.RequestMessage.encodeWithMetadata(RequestMessage.java:160)
    at com.mongodb.connection.WriteCommandProtocol.sendMessage(WriteCommandProtocol.java:220)
    at com.mongodb.connection.WriteCommandProtocol.execute(WriteCommandProtocol.java:101)
    at com.mongodb.connection.UpdateCommandProtocol.execute(UpdateCommandProtocol.java:64)
    at com.mongodb.connection.UpdateCommandProtocol.execute(UpdateCommandProtocol.java:37)
    at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:168)
    at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:289)
    at com.mongodb.connection.DefaultServerConnection.updateCommand(DefaultServerConnection.java:143)
    at com.mongodb.operation.MixedBulkWriteOperation$Run$3.executeWriteCommandProtocol(MixedBulkWriteOperation.java:490)
    at com.mongodb.operation.MixedBulkWriteOperation$Run$RunExecutor.execute(MixedBulkWriteOperation.java:656)
    at com.mongodb.operation.MixedBulkWriteOperation$Run.execute(MixedBulkWriteOperation.java:409)
    at com.mongodb.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:177)
    at com.mongodb.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:168)
    at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:422)
    at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:413)
    at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:168)
    at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:74)
    at com.mongodb.Mongo.execute(Mongo.java:845)
    at com.mongodb.Mongo$2.execute(Mongo.java:828)
    at com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:550)
    at com.mongodb.MongoCollectionImpl.update(MongoCollectionImpl.java:542)
    at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:381)
    at org.hpms.gis.MongoDbTest.insert(MongoDbTest.java:63)
    at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)

由以下代码抛出:

     final UUID …
Run Code Online (Sandbox Code Playgroud)

java upsert mongodb

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

良好的git流程,可在家中和办公室交替工作

我一半时间在家里工作,一半时间在办公室工作。每个任务必须完成一个专门的,独立的分支,并在同行评审后合并。

我们的项目由Bitbucket支持,我们也使用Jira和Jenkins。

我仅使用一个远程存储库和两个本地存储库。

我有一个反复出现的问题:我(@home)和我(@agency)之间发生了一些冲突...

这是我的过程:

星期一,在办公室的一个由master衍生的分支“ JamesBond007”中:

git add --all
git commit [--amend]
git push [-f] origin remote/JamesBond007
Run Code Online (Sandbox Code Playgroud)

周二在家:

git checkout master
git pull
git checkout JamesBond007
git pull --rebase origin master
Run Code Online (Sandbox Code Playgroud)

周三在办公室:

git checkout master
git pull
git checkout JamesBond007
git pull --rebase origin master   **<-- conflict: git mergetool command needed!!!**
Run Code Online (Sandbox Code Playgroud)

我的解决方法:

rm -fr repo
git clone ssh:repos-url
Run Code Online (Sandbox Code Playgroud)

我的错误在哪里,如何在不冲突的情况下将两个本地存储库中的代码推入/拉出服务器?

git

6
推荐指数
2
解决办法
129
查看次数

使用图像的类似图像搜索

我正在开展一个项目,其中将检查两个图像的相似性,如"Google Image Search by image".

我搜索了谷歌以及包括stackoverflow在内的各种网站,并了解了各种技术,如直方图,筛选,傅立叶变换,像素抓取等等

.事情太复杂了,我无法理解成为这个领域的初学者.

我的问题是:

  1. 我从哪里开始?是否有任何书籍或网站提供有关如何实际使用这些技术的教程?

  2. 是否有可以为此目的实施的新技术?

我想开始通过颜色搜索图像,然后如果可能的话,其他属性.

首选语言是Java.

关于这个主题有一个类似的主题,但它是几年前写的.

java image-comparison image-processing histogram sift

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

流<设置<路径>>以设置<路径>

这是Java 8代码,使用流:

Set<String> getFields( Path xml ) {
   final Set<String> fields = new HashSet<>();
   for( ... ) {
      ...
      fields.add( ... );
      ...
   }
   return fields;
}

void scan() {
   final SortedSet<Path> files = new TreeSet<>();
   final Path root = new File( "....." ).toPath();
   final BiPredicate<Path, BasicFileAttributes> pred =
      (p,a) -> p.toString().toLowerCase().endsWith( ".xml" );
   Files.find( root, 1, pred ).forEach( files::add );
   final SortedSet<String> fields = new TreeSet<>();
   files
      .stream()
      .parallel()
      .map( this::getFields )
      .forEach( s -> fields.addAll( s ));

      // …
Run Code Online (Sandbox Code Playgroud)

java collections lambda java-8 java-stream

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

如何定义以连字符命名的任务?

build.xml文件

<taskdef
   onerror  ="ignore"
   name     ="monitor-client"
   classpath="${jar-client}"
   classname="hpms.app.mon.client.AntTask" />

<target name="run-client" depends="compile-sample" description="Launch monitor">
   <monitor-client
      layout      ="Layout.xml"
      gui         ="true"
      autostart   ="true">
      <log-server
         port    ="3000"
         capacity="2048" />
...
Run Code Online (Sandbox Code Playgroud)

AntTask.java

public final class AntTask extends Task {

   private ...

   public void setLayout( String layout ) {
   }

   public void setGui( boolean gui ) {
   }

   public void setAutostart( boolean autostart ) {
   }

   public void addConfiguredLogServer( LogServer logServer ) {
   }

   @Override
   public void execute() {
      ...
   }
}
Run Code Online (Sandbox Code Playgroud)

执行

Buildfile: ...\build.xml …
Run Code Online (Sandbox Code Playgroud)

java ant

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