小编chi*_*NUT的帖子

使用.toDataUrl()将Chart.js画布图转换为图像会生成空白图像

我正在使用Chart.js.我试图通过获取基本64字符串将图表转换为图像.教程(http://www.chartjs.org/docs/)在该主题上投入了整整1行:

canvas元素还允许将内容保存为基本64字符串,允许将图表另存为图像.

canvas元件具有的方法toDataURL,该方法返回图像的一个base64字符串.但是,当我这样做时,它渲染的图像只是一个带有图表尺寸的透明矩形,并且它不包括图表内容.

这是一个小提琴:http://jsfiddle.net/KSgV7/

小提琴中的"图像"采用黑色边框设计,因此您可以看到它们应该在哪里,因为它们看起来只是一个很大的透明块.

有没有人成功将Chart.js图表​​转换为图像?

javascript html5 canvas chart.js

27
推荐指数
3
解决办法
7万
查看次数

ob_get_contents + ob_end_clean vs ob_get_clean

这两个PHP之间有什么区别吗?

ob_start();
//code...
$pageContent = ob_get_contents();
ob_end_clean();
someFunction($pageContent);
Run Code Online (Sandbox Code Playgroud)

VS

ob_start();
//code...
$pageContent=ob_get_clean();
someFunction($pageContent);
Run Code Online (Sandbox Code Playgroud)

我目前正在使用第一个块,但我想使用第二个块,如果它在功能上是等效的,因为它更简洁一点.

php

26
推荐指数
3
解决办法
2万
查看次数

从版本3升级到版本4后,tinyMCE无法再拖放图像

我的网站使用的是小型mce的第3版.它的一个特点是用户可以将图像拖动到编辑器中,它会自动将其转换为base64 data-uri并将其插入编辑器中.我刚刚升级到版本4,这个功能似乎完全消失了.

AFAIK,它不是一个插件或任何控制它的东西,只是默认功能的一部分,因为在使用最少的选项进行初始化时我仍然能够做到这一点,如下所示:

  tinyMCE.init({mode: "none"});
  tinyMCE.execCommand('mceAddControl', false, 'selector');
Run Code Online (Sandbox Code Playgroud)

此功能是否已从版本4中删除,或者有没有办法将其重新打开?

我真的想升级到4,但这是阻止我的唯一因素,因为图像功能对我的应用程序至关重要.

谢谢!

javascript jquery base64 tinymce image-uploading

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

netbeans php转到类属性的变量赋值(而不是声明)

在netbeans中,我可以Ctrl+单击变量名称以跳转到该变量的声明.这适用于普通变量.但是,当我将它用于类属性时,它会将我跳到类的顶部到类似的行

private $myVar;

这在技术上是正确的,但几乎没用.如果它将我跳到首先为变量赋值的行,即更有帮助

$this->$myVar=7;

这可能吗?如果是这样,怎么样?

在Windows 7上使用NetBeans 8.0.2

php netbeans

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

如何在PHP中旋转二维数组90度

我想顺时针旋转矩阵90度.这相当于使输入中的第一列成为输出的第一行,输入的第二列成为输出的第二行,输入的第三列成为输出的第3行.请注意,列的底部=行的开头,因为旋转90度.

例如:

$matrix=    [[1, 2, 3]
             [4, 5, 6], 
             [7, 8, 9]];

rotate90degrees($matrix)=      [[7, 4, 1],
                                [8, 5, 2],
                                [9, 6, 3]]
Run Code Online (Sandbox Code Playgroud)

我所知道的是我首先转置矩阵然后交换列以将矩阵旋转90度.怎么能应用到PHP?

php arrays matrix

8
推荐指数
3
解决办法
3252
查看次数

android - android工作室模拟器中的SSL问题,在手机上运行正常

我有一个应用程序通过https调用Web服务.当我在手机上运行apk时,效果很好.但是,在模拟器中,所有POST请求SSL都失败了:

读错误:ssl = 0xb402be00:SSL库失败,通常是协议错误错误:100c50bf:SSL例程:ssl3_read_bytes:NO_RENEGOTIATION(external/boringssl/src/ssl/s3_pkt.c:852 0xabf7fcd7:0x00000000)

在我们服务器上的访问日志中,每当模拟器尝试访问Web服务时,它都会报告403(禁止),因为模拟器没有与我们的服务器正确握手.在apache的错误日志中有很多这样的行

[2015年8月20日12:21:21] [错误] [客户端xxx.xxx.xxx.xxx]重新协商握手失败:客户端不接受!?

Apache实际上添加了"!?" 所以它看起来像一个严重意外的错误.

在我的IDE中,我勾选了"自动接受不受信任的证书"的选项,但这没有任何区别.

我已经在网上看到了解决android中各种SSL问题的解决方案,但是,它们似乎都是手机本身有问题,需要修改代码.由于它在手机上运行良好,似乎这是一个Android Studio问题,我应该能够通过配置设置来纠正这个问题.或者也许我必须在apache中做点什么?

结论:如何让我的应用程序与Android Studio中的模拟器中的SSL Web服务进行通信?

使用Studio 1.3.1,Java 1.7.0_65,

compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
    applicationId "com.bla.bla"
    minSdkVersion 14
    targetSdkVersion 19
    multiDexEnabled true
    versionCode 12
    versionName '1.2.0.8'
Run Code Online (Sandbox Code Playgroud)

java apache ssl android android-studio

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

WHERE子句或ON子句中的INNER JOIN条件?

我今天错误地输入了一个查询,但它仍然有效,并给出了预期的结果.我打算运行这个查询:

SELECT e.id FROM employees e JOIN users u ON u.email=e.email WHERE u.id='139840'
Run Code Online (Sandbox Code Playgroud)

但我不小心跑了这个查询

SELECT e.id FROM employees e JOIN users u ON u.email=e.email AND u.id='139840'
Run Code Online (Sandbox Code Playgroud)

(注意AND而不是WHERE在最后一个子句中)

并且都从用户ID返回了正确的员工ID.

这两个查询有什么区别?第二种形式是否只加入满足条件的2个表的成员,而第一个表是否会加入整个表,然后运行查询?一个比另一个更有效还是更低效?这是我缺少的其他东西吗?

谢谢!

mysql sql performance inner-join

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

使用if/then进行正则表达式预测非捕获

我有一些我想修复的损坏的JSON文件.问题是其中一个字段AcquisitionDateTime格式不正确:

{
    "AcquisitionDateTime": 2016-04-28T17:09:39.515625,
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是将值包装在括号内.我可以用正则表达式轻松地做到这一点:

perl -pi -e 's/\"AcqDateTime\": (.*),/\"AcqDateTime\": \"\1\",/g' t.json
Run Code Online (Sandbox Code Playgroud)

现在,我想扩展正则表达式,以便在JSON没有被破坏的情况下,内容不会在""中被包装两次.我面临的问题是我不知道如何混合前瞻,if/then语句和捕获组.这是我的尝试:

Lookahead, if you find a ", then capture what is between it. Else capture everything.
perl -pi -e 's/\"AcqDateTime\": (?(?=\")\"(.*)\"|(.*)),/\"AcqDateTime:\" \"\1\",/g' t.json
Run Code Online (Sandbox Code Playgroud)

这是我有兴趣纠正的部分:

Lookahead for a \"  -> if yes, then capture without it. \"(.*)\" Else capture all (.*)
(?(?=\")\"(.*)\"|(.*)),
Run Code Online (Sandbox Code Playgroud)

有人会向我解释我做错了什么吗?

提前致谢.

regex perl json

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

手动编写基本的PostScript脚本

我想尝试手动编写PostScript文件.为什么?为什么不.从维基百科,我复制并粘贴了他们的基本Hello World程序,PostScript其中包括:

%!PS
/Courier             % name the desired font
20 selectfont        % choose the size in points and establish 
                     % the font as the current one
72 500 moveto        % position the current point at 
                     % coordinates 72, 500 (the origin is at the 
                     % lower-left corner of the page)
(Hello world!) show  % stroke the text in parentheses
showpage             % print all on the page
Run Code Online (Sandbox Code Playgroud)

当我试图打开它时GIMP,我明白了

打开'Hello World.ps'失败了.无法解释文件'Hello World.ps'

我可以ImageMagick用来转换文件

convert …
Run Code Online (Sandbox Code Playgroud)

pdf postscript imagemagick gimp ghostscript

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

Android 深层链接适用于 ADB,但不适用于浏览器

我正在尝试向我的应用程序添加深层链接。我在我的一项活动中添加了 2 个意图过滤器,一个用于“http”方案的过滤器,另一个用于我的自定义方案(我使用的是“示例”)。我根据此 SO 中的信息(深层链接意图不起作用)为每个方案添加了一个意图过滤器,以便我可以同时处理链接example://testhttp://www.example.com/test链接类型。

这是我的 XML:

        <activity
    android:name="com.myapp.myapp.SplashActivity"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter android:label="Intent Filter label">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.LAUNCHER" />
        <!-- Accepts URIs that begin with "http://www.example.com/test2” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/test2" />

    </intent-filter>
    <intent-filter android:label="Intent Filter label">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.LAUNCHER" />

        <!-- Accepts URIs that begin with "example://test2” --> …
Run Code Online (Sandbox Code Playgroud)

android deep-linking android-intent

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