我想将SVG图像转换为具有透明背景和抗锯齿边缘的PNG文件(使用半透明像素).不幸的是,我不能让ImageMagick做抗锯齿,边缘总是看起来很糟糕.这是我试过的:
convert +antialias -background transparent in.svg -resize 25x25 out.png
Run Code Online (Sandbox Code Playgroud)
我可以使用任何想法或不同的命令行工具?
在Android中的字符串,可以定义复数处理取决于供给所描述字符串的实际数量的翻译在这里.字符串还允许指定多个位置参数,类似于sprintf
许多语言中的位置参数.
但是,请考虑以下字符串:
<resources>
<string name="remaining">%1$d hours and %2$d minutes remaining.</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
它包含两个数字,我如何在Android中将其转换为复数?所有示例始终仅使用单个参数.这甚至可能吗?
我有一个PDF导出,需要一段时间来创建PDF.我希望用户能够单击导出链接并立即显示下载对话框.这样他们就可以开始下载并等待它完成.而不是单击链接,等待生成,然后再次等待下载.
这是PHP中一个非常简单的例子:
<?php
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=test.pdf');
flush();
// time consuming PDF creation happens here
sleep(15);
echo 'pdf contents would be here';
Run Code Online (Sandbox Code Playgroud)
我们的想法是将相应的标题,flush()发送到浏览器,慢慢创建PDF并最终将其发送到浏览器.
这在chrome中非常有效.下载对话框立即弹出,睡眠是下载等待时间的一部分.
在Firefox和InternetExplorer中,这不起作用.这些浏览器在显示下载对话框之前等待整整15秒.
任何想法如何使下载对话框立即弹出将不胜感激.
为了测试工具,我需要一个目录,其中包含深层嵌套结构中的一大堆不同的Office文件.我已将文件放在目录中,但现在需要创建一些随机嵌套的子目录并将其中的文件展开.
我可以坐下来用我选择的编程语言编写一个合适的程序,但我想知道是否有一个聪明的Linux命令行工具组合+ Bash来实现我想要的.
编辑:澄清一下,我的输入是一个包含大约200个文件的目录.输出应该是一个目录层次结构,包含或多或少均匀分布的这些文件.目录名称不应超过单个字母,长度随机变化,并使用各种允许的字符(utf-8文件系统).
按照1和2的教程,我正在尝试为我的 Flutter 应用程序设置本地化。这工作正常,我可以I18n.of(context).trans(<key>)
用来访问我的小部件中的翻译字符串。
但是我不知道如何访问MaterialApp
顶部小部件中的翻译:
import 'package:flutter/material.dart';
import 'package:flutter_app/i18n/i18n.dart';
import 'package:flutter_app/views/menu.dart';
import 'package:flutter\_localizations/flutter\_localizations.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
supportedLocales: [
const Locale('en', 'US'),
const Locale('de', 'DE'),
],
localizationsDelegates: [
const I18nDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
],
title: I18n.of(context).trans('title'), //FIXME doesn't work
home: new Menu(),
);
}
}
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,我得到一个异常,因为I18n.of(context)
返回null
. 我错过了什么?
有没有人知道JavaScript或PHP中的开源三向合并实现?我想合并纯文本文件,而不需要依赖任何服务器端二进制文件.
我发现了一些创建差异的解决方案,但没有合并实现.
我正在尝试将我的Android应用注册为iCal网址的处理程序.为此,我在我的Manifest中为webcal://
伪协议和使用text/calendar
MIME类型的HTTP URL 设置了intent过滤器(见下文).
这在模拟器中工作得非常好,但在真实设备上我遇到了问题.该webcal://
过滤器的工作原理,但text/calendar
一个没有.相反,浏览器将ical文件显示为纯文本,而不是将URL传递给我的应用程序.
我检查了浏览器没有配置为ical的默认处理程序(在设置 - >应用程序 - >浏览器中),我问了一些其他人是否可以在他们的手机上重现问题.都具有相同的结果.
注册文本/日历URL的正确方法是什么?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.splitbrain.giraffe"
android:versionName="0.31" android:versionCode="4">
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Light.NoTitleBar">
<activity android:label="@string/app_name" android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<action android:name="android.intent.action.VIEW"></action>
<data android:mimeType="text/calendar" android:scheme="http"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="webcal"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
<activity android:name="OptionsActivity"></activity>
<activity android:name="DetailActivity"></activity>
<activity android:name="AboutActivity"></activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
更新:在Android 1.6模拟器中,上述工作正常,但在2.3.3模拟器上没有显示与我手机上相同的行为.这可能是Android中的一个错误吗?
我有一个非常奇怪的问题.我正在尝试下载一些文件和存储.我的代码相对简单直接(见下文),在我的本地机器上工作正常.
但它旨在在通过Citrix和VPN访问的Windows终端服务器上运行.该文件将保存到已安装的网络驱动器中.此挂载是通过Citrix VPN挂载的本地C:\驱动器,因此可能存在一些延迟.不幸的是,我没有详细说明整个基础设施是如何设置的...
现在我的问题是下面的代码抛出IOException告诉我在尝试执行write()调用时磁盘上没有剩余空间.目录结构创建正常,并创建零字节文件,但永远不会写入内容.
驱动器上有超过1 GB的可用空间,Citrix客户端已获得"完全访问"权限,并使用Windows资源管理器或记事本复制/写入该映射驱动器上的文件.只有Java在这给我带来麻烦.
我还尝试首先下载到临时文件然后将其复制到目标,但由于复制基本上与我原始代码中的流操作相同,因此行为没有变化.它仍然因磁盘空间不足而失败.
我不知道还有什么可以尝试的.你能提出什么建议吗?
public boolean downloadToFile(URL url, File file){
boolean ok = false;
try {
file.getParentFile().mkdirs();
BufferedInputStream bis = new BufferedInputStream(url.openStream());
byte[] buffer = new byte[2048];
FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream( fos , buffer.length );
int size;
while ((size = bis.read(buffer, 0, buffer.length)) != -1) {
bos.write(buffer, 0, size);
}
bos.flush();
bos.close();
bis.close();
ok = true;
}catch(Exception e){
e.printStackTrace();
}
return ok;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试让Travis CI输出一份报道报告,以便稍后与审查员一起使用.但是我很难让它发挥作用.
当我将--coverage-clover = coverage.clover添加到我的phpunit命令时,覆盖率报告的生成失败,并显示以下错误:
Generating code coverage report in Clover XML format ...PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home/travis/.phpenv/versions/5.5.7/share/pyrus/.pear/php/PHP/Token.php on line 432
这让我很困惑,原因如下:
set_time_limit(0);
有没有办法解决这个问题?
完整构建日志,网址为https://travis-ci.org/splitbrain/dokuwiki/jobs/16522833
有没有办法在没有可以验证的真实域的情况下在本地开发letsencrypt ACME客户端?例如。是否有一些测试域可以与 LE 沙盒服务器一起使用来伪造成功的域验证?
或者是通过将其部署到真实域并生成真实证书来测试和调试 letencrypt 客户端的唯一方法?如何将其集成到 CI 中?
android ×2
php ×2
bash ×1
citrix ×1
download ×1
firefox ×1
flutter ×1
http ×1
imagemagick ×1
inkscape ×1
java ×1
javascript ×1
lets-encrypt ×1
linux ×1
localization ×1
merge ×1
phpunit ×1
plural ×1
png ×1
shell ×1
svg ×1
translation ×1
travis-ci ×1
windows ×1