2011-06-02 39 views
0

我是一名具有良好IT背景的摄影师。浏览器扩展, - 渲染前访问图像

我正在寻找截取网站中的图像渲染,可能通过浏览器扩展。我的计划是在浏览网页时自动识别使用我的照片。

所以,我需要做的 - 你告诉我最好的方式,如何请:) - 是截取图像的渲染,读取图像,并可能修改它。

扩展/ addOns是一个很好的方法吗?有另一种方法吗?可能使用C#...

干杯 马克

+0

您可能会将其作为浏览器扩展来执行,但是,显然它只适用于安装它的人。此外,它是非常针对浏览器的,所以不用说你瞄准的是哪个浏览器就不可能得到答案(不管我会回答,我从来没有写过浏览器扩展:))出于好奇,如果我可以 - 你需要什么? – Amadan 2011-06-02 04:31:33

+0

是的,扩展,我瞄准Firefox和出于兴趣也许IE8 +。尽管如此,跨浏览器仍然很棒。我将是唯一安装它的人,所以没关系。使用扩展名我无法找到该特定作业的起点。无论如何都不要使用Yahoogle。 – Marc 2011-06-02 20:06:31

+0

您可能也会想到另一个方向。跨浏览器的解决方案是创建一个Web代理。你可能会找到一个开源的,然后修改,以便在将它们传递给客户端之前处理图像。 – Amadan 2011-06-03 05:15:43

回答

0

这就是所谓的数字版权管理(DRM)。你和Hollyweird一样愿意阻止每个人免费观看。但是一旦它在网上,只有下水道可以阻止人们观看。

这里是开始研究的好地方。 http://en.wikipedia.org/wiki/Digital_rights_management

+0

谢谢。但那不是我想要的。我不想保护他们,我想检测他们。 – Marc 2011-06-02 20:03:56

0

如果您的照片是在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),并且在加载页面时检测图像是否属于您的图像,然后执行黑魔法。

+0

感谢您的代码,但我想扫描所显示的图像来显示在任何网站上。不是我的。所以我不能访问数据库,我必须坚持浏览器给我的东西 - 因此我开始查看浏览器扩展/插件/ addOns。有没有办法?必须有! – Marc 2011-06-02 20:02:08