NAME
    WebService::HtmlKitCom::FavIconFromImage - generate favicons from images
    on http://www.html-kit.com/favicon/

SYNOPSIS
        use strict;
        use warnings;

        use WebService::HtmlKitCom::FavIconFromImage;

        my $fav = WebService::HtmlKitCom::FavIconFromImage->new;

        $fav->favicon( 'some_pics.jpg', file => 'out.zip' )
            or die $fav->error;

NOTE ON CHANGED INTERFACE
    Since I first released this module, the interface of the website changed
    slightly, so I had to take out the scrolling text and animation
    parameters. Since I currently have no personal need for this module, I
    didn't re-implement those features, but if you actually use this module
    and need those features. Let me know via RT, email, or #perl on
    irc.freenode.net

DESCRIPTION
    The module provides interface to web service on
    <http://www.html-kit.com/favicon/> which allows one to create favicons
    from regular images. What's a "favicon"? See
    <http://en.wikipedia.org/wiki/Favicon>

CONSTRUCTOR
  "new"
        my $fav = WebService::HtmlKitCom::FavIconFromImage->new;

        my $fav = WebService::HtmlKitCom::FavIconFromImage->new( timeout => 10 );

        my $fav = WebService::HtmlKitCom::FavIconFromImage->new(
            mech => WWW::Mechanize->new( agent => '007', timeout => 10 ),
        );

    Bakes and returns a fresh WebService::HtmlKitCom::FavIconFromImage
    object. Takes two *optional* arguments which are as follows:

   "timeout"
        my $fav = WebService::HtmlKitCom::FavIconFromImage->new( timeout => 10 );

    Takes a scalar as a value which is the value that will be passed to the
    WWW::Mechanize object to indicate connection timeout in seconds.
    Defaults to: 180 seconds

   "mech"
        my $fav = WebService::HtmlKitCom::FavIconFromImage->new(
            mech => WWW::Mechanize->new( agent => '007', timeout => 10 ),
        );

    If a simple timeout is not enough for your needs feel free to specify
    the "mech" argument which takes a WWW::Mechanize object as a value.
    Defaults to: plain WWW::Mechanize object with "timeout" argument set to
    whatever WebService::HtmlKitCom::FavIconFromImage's "timeout" argument
    is set to as well as "agent" argument is set to mimic FireFox.

METHODS
  "favicon"
        my $response = $fav->favicon('some_pic.jpg')
            or die $fav->error;

        $fav->favicon('some_pic.jpg',
            file    => 'out.zip',
        ) or die $fav->error;

    Instructs the object to create a favicon. First argument is mandatory
    and must be a file name of the image you want to use for making a
    favicon. Note: the site is being unclear about what it likes and what it
    doesn't. What I know so far is that it doesn't like 1.5MB pics but I'll
    leave you at it :). Return value is described below. Optional arguments
    are passed in a key/value form. Possible optional arguments are as
    follows:

   "file"
        ->favicon( 'some_pic.jpg', file => 'out.zip' );

    Optional. If "file" argument is specified the archive containing the
    favicon will be saved into the file name of which is the value of "file"
    argument. By default not specified and you'll have to fish out the
    archive from the return value (see below)

   "image"
        ->favicon( '', image => 'some_pic.jpg' );

    Optional. You can call the method in an alternative way by specifying
    anything as the first argument and then setting "image" argument. This
    functionality is handy if your arguments are coming from a hash, etc.
    Defaults to: first argument of this method.

   RETURN VALUE
    On failure "favicon()" method returns either "undef" or an empty list
    depending on the context and the reason for failure will be available
    via "error()" method. On success it returns an HTTP::Response object
    obtained while fetching your precious favicon. If you didn't specify
    "file" argument to "favicon()" method you'd obtain the favicon via
    "content()" method of the returned HTTP::Response object (note that it
    would be a zip archive)

  "error"
        my $response = $fav->favicon('some_pic.jpg')
            or die $fav->error;

    Takes no arguments, returns a human parsable error message explaining
    why the call to "favicon()" failed.

  "mech"
        my $old_mech = $fav->mech;

        $fav->mech( WWW::Mechanize->new( agent => 'blah' ) );

    Returns a WWW::Mechanize object used by this class. When called with an
    optional argument (which must be a WWW::Mechanize object) will use it in
    any subsequent "favicon()" calls.

  "response"
        my $response = $fav->response;

    Must be called after a successful call to "favicon()". Takes no
    arguments, returns the exact same return value as last call to
    "favicon()" did.

AUTHOR
    Zoffix Znet, "<zoffix at cpan.org>" (<http://zoffix.com>,
    <http://haslayout.net>)

BUGS
    Please report any bugs or feature requests to
    "bug-webservice-htmlkitcom-faviconfromimage at rt.cpan.org", or through
    the web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-HtmlKitCom-Fa
    vIconFromImage>. I will be notified, and then you'll automatically be
    notified of progress on your bug as I make changes.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc WebService::HtmlKitCom::FavIconFromImage

    You can also look for information at:

    *   RT: CPAN's request tracker

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=WebService-HtmlKitCom-FavI
        conFromImage>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/WebService-HtmlKitCom-FavIconFromImage>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/WebService-HtmlKitCom-FavIconFromImag
        e>

    *   Search CPAN

        <http://search.cpan.org/dist/WebService-HtmlKitCom-FavIconFromImage>

COPYRIGHT & LICENSE
    Copyright 2008 Zoffix Znet, all rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

