我是一名具有良好IT背景的摄影师。浏览器扩展, - 渲染前访问图像
我正在寻找截取网站中的图像渲染,可能通过浏览器扩展。我的计划是在浏览网页时自动识别使用我的照片。
所以,我需要做的 - 你告诉我最好的方式,如何请:) - 是截取图像的渲染,读取图像,并可能修改它。
扩展/ addOns是一个很好的方法吗?有另一种方法吗?可能使用C#...
干杯 马克
我是一名具有良好IT背景的摄影师。浏览器扩展, - 渲染前访问图像
我正在寻找截取网站中的图像渲染,可能通过浏览器扩展。我的计划是在浏览网页时自动识别使用我的照片。
所以,我需要做的 - 你告诉我最好的方式,如何请:) - 是截取图像的渲染,读取图像,并可能修改它。
扩展/ addOns是一个很好的方法吗?有另一种方法吗?可能使用C#...
干杯 马克
这就是所谓的数字版权管理(DRM)。你和Hollyweird一样愿意阻止每个人免费观看。但是一旦它在网上,只有下水道可以阻止人们观看。
这里是开始研究的好地方。 http://en.wikipedia.org/wiki/Digital_rights_management
谢谢。但那不是我想要的。我不想保护他们,我想检测他们。 – Marc 2011-06-02 20:03:56
如果您的照片是在ImageShack.us上托管的,例如您将无法截取渲染。恕我直言,你可以得到最接近的是使用水印。
但是,如果您将图像托管在服务器上并使用C#中的ashx渲染它们,那么您可以读取图像并在其渲染前进行修改。
拿这个代码为例: http://www.developerfusion.com/code/5223/using-ashx-files-to-retrieve-db-images/
<%@ webhandler language="C#" class="NWEmpPhotoHandler" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
public class NWEmpPhotoHandler : IHttpHandler
{
public bool IsReusable { get { return true; } }
public void ProcessRequest(HttpContext ctx)
{
string id = ctx.Request.QueryString["id"];
SqlConnection con = new SqlConnection(<<INSERT CONNECTION STRING HERE>>);
SqlCommand cmd = new SqlCommand("SELECT Photo FROM Employees WHERE EmployeeID = @EmpID", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@EmpID", id);
con.Open();
byte[] pict = (byte[])cmd.ExecuteScalar();
con.Close();
ctx.Response.ContentType = "image/bmp";
ctx.Response.OutputStream.Write(pict, 78, pict.Length - 78);
}
}
所以,你会打的ashx通过URL:www.Marc.com/Images.ashx?id=123
或者使用浏览器扩展方法,您可以拥有本地图像存储库或者特定图像名称(使用GUID),并且在加载页面时检测图像是否属于您的图像,然后执行黑魔法。
感谢您的代码,但我想扫描所显示的图像来显示在任何网站上。不是我的。所以我不能访问数据库,我必须坚持浏览器给我的东西 - 因此我开始查看浏览器扩展/插件/ addOns。有没有办法?必须有! – Marc 2011-06-02 20:02:08
您可能会将其作为浏览器扩展来执行,但是,显然它只适用于安装它的人。此外,它是非常针对浏览器的,所以不用说你瞄准的是哪个浏览器就不可能得到答案(不管我会回答,我从来没有写过浏览器扩展:))出于好奇,如果我可以 - 你需要什么? – Amadan 2011-06-02 04:31:33
是的,扩展,我瞄准Firefox和出于兴趣也许IE8 +。尽管如此,跨浏览器仍然很棒。我将是唯一安装它的人,所以没关系。使用扩展名我无法找到该特定作业的起点。无论如何都不要使用Yahoogle。 – Marc 2011-06-02 20:06:31
您可能也会想到另一个方向。跨浏览器的解决方案是创建一个Web代理。你可能会找到一个开源的,然后修改,以便在将它们传递给客户端之前处理图像。 – Amadan 2011-06-03 05:15:43