小编Tel*_*nor的帖子

调整HTML5画布中的图像大小

我正在尝试使用javascript和canvas元素在客户端创建缩略图图像,但是当我缩小图像时,它看起来很糟糕.它看起来好像在photoshop中缩小了,重新采样设置为"最近邻"而不是Bicubic.我知道可以让它看起来正确,因为这个网站也可以使用画布做得很好.我尝试使用他们所做的相同代码,如"[Source]"链接所示,但它仍然看起来很糟糕.有什么我缺少的东西,一些需要设置的设置或什么?

编辑:

我正在尝试调整jpg的大小.我已经尝试在链接网站和photoshop中调整相同的jpg,并且在缩小尺寸时看起来很好.

这是相关代码:

reader.onloadend = function(e)
{
    var img = new Image();
    var ctx = canvas.getContext("2d");
    var canvasCopy = document.createElement("canvas");
    var copyContext = canvasCopy.getContext("2d");

    img.onload = function()
    {
        var ratio = 1;

        if(img.width > maxWidth)
            ratio = maxWidth / img.width;
        else if(img.height > maxHeight)
            ratio = maxHeight / img.height;

        canvasCopy.width = img.width;
        canvasCopy.height = img.height;
        copyContext.drawImage(img, 0, 0);

        canvas.width = img.width * ratio;
        canvas.height = img.height * ratio;
        ctx.drawImage(canvasCopy, 0, 0, canvasCopy.width, canvasCopy.height, 0, 0, canvas.width, canvas.height); …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas image-resizing

310
推荐指数
9
解决办法
27万
查看次数

如何在网页上运行任何内联脚本之前运行用户脚本?

我想为firefox创建一个在页面上的脚本之前运行的greasemonkey类型脚本.Greasemonkey脚本在页面上的脚本之后运行,因此不起作用.我需要这个的原因是因为我想编辑页面上的一个脚本.具体来说,我想删除一个强制页面加载到框架内的脚本,因为框架内的页面打破F5(按F5使页面跳回到首页而不是重新加载当前页面).另外,我不想通过AJAX加载代理页面,也不能切换到chrome/opera.我想也许Jetpack附加组件可以工作,但它似乎只有与greasemonkey使用相同的事件,DOMContentLoaded.有任何想法吗?

firefox greasemonkey userscripts

12
推荐指数
1
解决办法
2083
查看次数

如何删除ListViewItem上的选择边框

我正在使用SetWindowTheme和SendMessage使.net listview看起来像vista样式列表视图,但.net控件仍然在所选项目周围有一个虚线选择边框:

列表显示

资源管理器列表视图中的所选项目周围没有该边框.我该如何删除它?

Windows资源管理器:

Windows资源管理器

编辑:解决方案:

public static int MAKELONG(int wLow, int wHigh)
{
    int low = (int)LOWORD(wLow);
    short high = LOWORD(wHigh);
    int product = 0x00010000 * (int)high;
    int makeLong = (int)(low | product);
    return makeLong;
}

SendMessage(olv.Handle, WM_CHANGEUISTATE, Program.MAKELONG(UIS_SET, UISF_HIDEFOCUS), 0);
Run Code Online (Sandbox Code Playgroud)

.net c# listview listviewitem winforms

9
推荐指数
2
解决办法
6656
查看次数

如何确定哪个网络适配器连接到Internet

我正在用C#编写一个程序,需要监控当前使用的互联网带宽量,以便在互联网使用率较低时进行后台上传.如何自动确定哪个网络适配器是连接到互联网的?

.net c# networking

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

WinForms:SplitContainer的替代品?

是否有人可以建议替换WinForms SplitContainer的替代控件?我不喜欢SplitContainer在选中它和被拖动时如何显示奇怪的虚线条.我想让面板重新调整大小,因为用户拖动而不是鼠标向上,并且在拖动分割器时不显示任何虚线条.基本上就像在Vista浏览器中完成所有面板重新调整大小一样.

这是我所说的点缀的东西:

分离器

.net c# splitter splitcontainer winforms

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

Firefox:如何使用附加SDK(Jetpack)添加/修改工具栏

所以我现在多次查看Add-on SDK的文档,没有哪里可以看到如何创建工具栏或修改现有工具栏.他们有一个关于创建附加栏图标的教程,但这不是我想要的.附加SDK是否支持此功能?如果有,可以有人将我链接到示例/教程.

firefox toolbar firefox-addon firefox-addon-sdk

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

如何使用CheckMultisampleQualityLevels并启用多重采样

我正在学习directx 11并尝试设置多重采样.出于某种原因,互联网上的每个教程都禁用多重采样,并且永远不会讨论如何启用它.

第一:我四处搜寻,找不到任何如何使用的例子CheckMultisampleQualityLevels.您似乎需要创建一个设备,调用该功能,找出可用的级别,然后销毁该设备并使用您想要的设置创建一个新设备.这是正确的方法吗?或者,还有更好的方法?

其次,如何启用多重采样?因为我不知道怎么去CheckMultisampleQualityLevels工作,我试图把一些值DXGI_SWAP_CHAIN_DESC.SampleDesc.CountDXGI_SWAP_CHAIN_DESC.SampleDesc.Quality(如4,4),它不运行时,不会显示任何内容(它的错误,如果我把在疯狂的价值观像33和2).这是否需要在交换链描述之外的其他地方设置,或者着色器是否以某种方式干扰它(我有基本的灯光和纹理着色器设置)?

我有一台GTX 570,所以我知道它可以支持大多数AA设置.我正在关注这套教程,以防有任何帮助:http://rastertek.com/tutindex.html

c++ directx multisampling antialiasing directx-11

4
推荐指数
1
解决办法
5989
查看次数

如何使用无效的HTML抓取网站

我正在尝试从具有无效HTML的网站中抓取数据. 简单的HTML DOM Parser解析它但由于其处理无效HTML的方式而丢失了一些信息.带有DOMXPath的内置DOM解析器不起作用,它返回一个空白结果集.在通过PHP Tidy运行获取的HTML之后,我能够在本地工作(DOMDocument和DOMXPath),但是服务器上没有安装PHP Tidy,它是一个共享的托管服务器,所以我无法控制它.我尝试过HTMLPurifier,但这似乎只是为了保护用户输入,因为它完全删除了doctype,head和body标签.

PHP Tidy有什么独立替代品吗?我真的更喜欢使用DOMXPath导航并抓住我需要的东西,它似乎需要一些帮助清理HTML才能解析它.

编辑:我正在抓取这个网站:http://courseschedules.njit.edu/index.aspx?semester = 2010f.现在我只想尝试所有的课程链接.

php web-scraping

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

PHP无法写入文件,即使它具有777权限

我试图让一个PHP文件写入驻留在同一文件夹中的文件.无论是php文件和它试图写有自己的权限设置为777的文件(其Linux服务器)以及它们所在的文件夹.每当我叫fopen()函数与"W"或"W +"模式,该函数只返回false.它在我学校的网络服务器上,所以我无法获得root权限,可以将文件的所有者更改为与apache相同的用户.有谁知道什么是错的?

更新:作为测试,我使用此代码:

$handle = fopen("test.txt", 'w');
if($handle === FALSE)
    echo "\nfailed";
else
    echo "\nsuccess";
fclose($handle);
Run Code Online (Sandbox Code Playgroud)

现在启用错误报告的输出是:

Warning: fopen(test.txt) [function.fopen]: failed to open stream: Permission denied in /<snip>/public_html/test.php on line 58
failed
Warning: fclose(): supplied argument is not a valid stream resource in /<snip>/public_html/test.php on line 63
Run Code Online (Sandbox Code Playgroud)

上面是我从php网站上为fileperms()函数复制的一些代码,它检查文本文件的权限,并报告-rwxrwxrwx

相关文件的ls -al输出是

ls -al *test*
-rwxrwxrwx   1 mag5     30          1475 Dec  9 00:02 test.php*
-rwxrwxrwx   1 mag5     30             8 Dec  8 14:54 test.txt*
Run Code Online (Sandbox Code Playgroud)

我也不确定这是否重要,但我的学校使用的是一个名为Andrew File系统的东西(http://en.wikipedia.org/wiki/Andrew_File_System).

php file-permissions

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