有没有一种简单的方法可以使用ImageMagick从图像文件中提取EXIF数据作为文本.类似于IPTC数据的方式:
convert input.jpeg data.iptc <= binary data
convert input.jpeg data.iptctext <= textual data
Run Code Online (Sandbox Code Playgroud)
遗憾的是,这不适用于EXIF数据:
convert input.jpeg data.exif <= binary data
convert input.jpeg data.exiftext <= not working
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用
identify -verbose input.jpeg
Run Code Online (Sandbox Code Playgroud)
但是我必须解析结果才能搜索所有EXIF和IPTC数据.
那么使用纯ImageMagick有一个简单的方法吗?
我有一个CMYK tif图像,想要使用ImageMagick将其转换为RGB jpeg/png.即使我手动指定sRGB配置文件,tif图像也会集成一个配置文件,但ImageMagick无法正确转换(颜色完全不正确).
目前我正在使用此测试文件:http: //www.file-upload.net/download-8686107/testimage.tif.html
我尝试了以下命令(没有任何成功):
convert testimage.tif test.jpg
convert testimage.tif -colorspace RGB test.jpg
convert testimage.tif -colorspace sRGB test.jpg
convert testimage.tif -profile sRGB.icm test.jpg
convert testimage.tif -profile USWebCoatedSWOP.icc -profile sRGB.icm test.jpg
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么这些都没有正确转换图像?目前我正在使用
Version: ImageMagick 6.6.9-7 2012-08-17 Q16 http://www.imagemagick.org
Run Code Online (Sandbox Code Playgroud) 我遇到在 Gradle 项目中使用 Flyway 进行 migrateDb 有时会导致的问题
Unable to obtain inputstream for resource: META-INF/db/mysql/V1__script.sql
Run Code Online (Sandbox Code Playgroud)
此错误不会一直发生,而只是有时发生,但如果发生,它会非常持久,而且项目的清理/重建也无法解决它。
提到的 SQL 脚本包含在一个 JAR 文件中,该文件作为多模块项目的一部分从项目中引用。
我的研究只把我带到了https://github.com/flyway/flyway/issues/702但这并没有引导我走上正确的道路。
我也很困惑,flyway 能够在类路径搜索期间找到该文件,但随后无法获取输入流。
如果您需要任何进一步的信息,请询问。
进一步调试:似乎只要将新文件添加到 DB JAR 中,就会发生错误。重建并 migrateDb 后出现错误。如果我再次删除该脚本,尽管该脚本不再位于生成的 JAR 中,但错误仍然发生。所以我猜搜索脚本和检索输入流的类路径是不同的。有谁知道可能存在什么差异?
完整的堆栈跟踪:
Caused by: org.flywaydb.core.api.FlywayException: Unable to obtain inputstream for resource: META-INF/db/mysql/V1__script.sql
at org.flywaydb.core.internal.util.scanner.classpath.ClassPathResource.loadAsString(ClassPathResource.java:84)
at org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver.scanForMigrations(SqlMigrationResolver.java:139)
at org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:99)
at org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:49)
at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.collectMigrations(CompositeMigrationResolver.java:122)
at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.doFindAvailableMigrations(CompositeMigrationResolver.java:104)
at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:90)
at org.flywaydb.core.internal.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:43)
at org.flywaydb.core.internal.info.MigrationInfoServiceImpl.refresh(MigrationInfoServiceImpl.java:114)
at org.flywaydb.core.internal.command.DbValidate$2.call(DbValidate.java:164)
at org.flywaydb.core.internal.command.DbValidate$2.call(DbValidate.java:157)
at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:75)
at org.flywaydb.core.internal.command.DbValidate.validate(DbValidate.java:157)
at org.flywaydb.core.Flyway.doValidate(Flyway.java:1280)
at org.flywaydb.core.Flyway.access$100(Flyway.java:71)
at org.flywaydb.core.Flyway$1.execute(Flyway.java:1176)
at org.flywaydb.core.Flyway$1.execute(Flyway.java:1168) …Run Code Online (Sandbox Code Playgroud) 我想在ExtJS应用程序中同时具有不同存储的相同视图的不同实例.目前,我在视口中停止了同一视图的多个实例(Ext.view.View).
但是,在每个视图中拥有不同商店的最佳做法是什么?我找到的每个示例都在使用控制器的stores-Config创建的视图中使用Store-ID.但是这会为每个视图使用相同的商店.
目前我想出了以下可能的解决方案:
这些解决方案中的任何一种都是最佳实践,还是应该以不同方式完成
我想将时间戳保存到数据库,而不是由jdbc驱动程序转换为本地时区.目前只有MySQL和PostgreSQL对我很重要,但如果有一个独立于数据库的解决方案,我将不胜感激.
例:
// i want that to be saved as 1970-01-01 00:00:00
TimeStamp ts = new java.sql.Timestamp(0);
// gets transformed to local time by jdbc driver (in my case to 1970-01-01 01:00:00)
st.setTimestamp(0, new java.sql.Timestamp(0));
// only works using postgres (mysql connector seems to ignore the calendar)
// postgres => 1970-01-01 00:00:00
// mysql => 1970-01-01 01:00:0
Calendar calutc = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
st.setTimestamp(0, new java.sql.Timestamp(0), utccal);
Run Code Online (Sandbox Code Playgroud)
我已经尝试计算一个时间戳值,该值被转换为正确的值(例如-3600000 => 1970-01-01 00:00:00在我的时区)但这对于当天日期的postgres不起作用节约时间的变化.
我有两个表(缩小到重要字段):
syskeywordobjects:
pksyskeywordobjects BIGINT
fksyskeywords BIGINT
fkcontents BIGINT
fkcontents INDEX (fkcontents)
fksyskeywords INDEX (fksyskeywords)
fkcontents_fksyskeywords INDEX (fkcontents, fksyskeywords)
syskeywords:
pksyskeywords BIGINT
keyword VARCHAR
keyword INDEX (keyword)
Run Code Online (Sandbox Code Playgroud)
在这两个表上,我运行以下查询:
SELECT k.pksyskeywords, k.keyword, COUNT( k.pksyskeywords ) AS counter
FROM syskeywordobjects ko INNER JOIN syskeywords k ON ko.fksyskeywords = k.pksyskeywords
WHERE (
k.pksyskeywords <> 1218713201167374664
AND EXISTS (
SELECT innerko.pksyskeywordobjects
FROM syskeywordobjects innerko
WHERE ko.fkcontents = innerko.fkcontents
AND innerko.fksyskeywords = 1218713201167374664
)
)
GROUP BY k.pksyskeywords, k.keyword
ORDER BY counter DESC
LIMIT 20
Run Code Online (Sandbox Code Playgroud)
如果表使用MyISAM,则查询大约需要1-2秒,但如果我使用InnoDB(我必须这样做)则需要25-30秒.为什么InnoDB慢了大约20倍? …
我有这个HTML片段:
<ul class="custom">
<li data-bullet="a">Item 1</li>
<li data-bullet="aa">Item 2</li>
<li data-bullet="ab">Item 3.1<br/>Item 3.2</li>
<li data-bullet="c">Item 4</li>
<li data-bullet="d">Item 5</li>
<li data-bullet="de">Item 6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
和CSS:
.custom {
list-style:none;
padding:0;
margin:0;
}
.custom li:before {
display:inline-block;
content:attr(data-bullet);
width:50px;
}
/*
.custom {
list-style:none;
padding:0;
margin:0;
}
.custom li:before {
display:inline-block;
content:attr(data-bullet);
position:relative;
top:0;
left:-50px;
}
.custom li {
padding-left:50px;
}
*/
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/g0w989aa/1/
它在列表项的内容之前使用CSS以创建自定义列表编号.问题是如果列表项的内容长于一行,则文本的对齐不能正常工作.
有没有办法正确对齐线条的内容?我已经尝试将内容定位为相对并为列表项提供填充(请参阅示例中的注释掉的css),但这也不起作用.
我有以下列表:
<ol>
<li class="caption">Caption</li>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
我希望第一个li没有任何数字,第二个项目从数字1开始.这可能只使用CSS吗?
我有一个 HTML 文档,其中包含处理指令,并且应该使用 CSS 进行样式设置。我没有找到任何方法来引用CSS的处理指令。这可能吗?
<div>
Hello World
<?pi1 ?>
Test
<?pi2 ?>
</div>
Run Code Online (Sandbox Code Playgroud) 我unoconv用来转换docx成pdf。只要我通过文件名传递文档,一切都很好:
$ unoconv -f pdf --stdout test.docx
Run Code Online (Sandbox Code Playgroud)
但是,一旦我使用--stdin它就不再起作用了:
$ unoconv -f pdf --stdin --stdout < test.docx
Traceback (most recent call last):
File "/usr/bin/unoconv", line 1275, in <module>
main()
File "/usr/bin/unoconv", line 1185, in main
inputfn = sys.stdin.read()
File "/usr/lib/python3.5/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 41: invalid start byte
Run Code Online (Sandbox Code Playgroud)
这是同一个文件。为什么不起作用?