2016-10-04 38 views
0

尝试画布像素操纵,它不会读取我的形象只是显示白色屏幕。它在我使用fillRect时有效,但不能从硬盘中读取图像?我想要做的是使用精灵编辑图像。我想读取图像。HTML5像素操作问题;帆布不看我的图像(不能在线)

count = 3; 
for (var i = 0; i < 172000; ++i) { 
    switch (i % 480) { 
    case 240: 
     count = count - 1918; 
     break; 
    case 0: 
     count = count + 1918 
     break; 
    } 
    var hold = 4 * i + count; 
    var nn = (imageData.data[hold] >> 1) % 64; 
    var mm = screen[i] * 8 + (imageData.data[hold + 1] >> 5); 
    var hq = (imageData.data[hold + 1] % 18); 
    var sq = 18 * (imageData.data[hold] % 2); 
    var m = (RELUM[mm][nn] * 36 + hq + sq); 
    //ading hue to luminance 
    var value = (m % 216); 
    //outpuutting color 
    var r = imageData.data[4 * value]; 
    var g = imageData.data[4 * value + 1]; 
    var b = imageData.data[4 * value + 2]; 
    var a = imageData.data[4 * value + 3]; 
    //Little endian 
    data[i] = (a << 24) | 
    (b << 16) | 
    (g << 8) | 
    r; 
} 
+0

您可能遇到域问题。查看FileReader以从本地驱动器加载图像,而不会遇到跨域问题 – markE

回答

0

为了帆布加载它不能在你的硬盘上的图像,它必须是一个服务器(本地或其他)上,它必须启用相同的域或CORS。

一个简单的解决方法是使用base64图像。使用网站like this one将您的图像转换为base65字符串,您可以使用与使用图像src url相同的方式,然后将其加载。

+0

是否有任何其他html5像素操作可让我使用脱机图像 – Infinity8378