PHP ile Sitenin Resmini çekmek

0
Onaylı Üye
Üye
Katılım
27 Ekim 2004
Mesajlar
1,817
Tepki puanı
51
Konum
makedonya
Merhaba arkadaşlar,
Çok eski bir projem için bunu araştırıyordum ozaman çözüm bulamamıştım tekrar aklıma takıldı..

PHP ile form'da belirtilen sitenin resmini istediğimiz kalitede resmini çektirebilir miyiz?
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
0
Onaylı Üye
Üye
Katılım
27 Ekim 2004
Mesajlar
1,817
Tepki puanı
51
Konum
makedonya
Teşekkürler atay, şimdi deniyorum olumsuz bir olayla karşılaşırsam bilgi alırım tekrar..
 
0
Onaylı Üye
Üye
Katılım
27 Ekim 2004
Mesajlar
1,817
Tepki puanı
51
Konum
makedonya
Az önce Linux olana baktım sunucuda php-gtk2 modülünü istiyor.
Yapmak isteyipte bulamayanlar benim gibi,
php-gtk2 modülünü http://gtk.php.net/download.php adresinden yükleyip aşağıdaki php kodlarıyla web sitesinin resmini çektirebilir.

atay tekrar teşekkürler.


<?php

/**
* GtkMozEmbedScreenshot
*
* @package GtkMozEmbedScreenshot
* @author Daniel Anechitoaie
* @copyright 2008
* @license GPL
* @version 0.1.0 Beta
* @access public
*/

class GtkMozEmbedScreenshot
{
var $version = '0.1.0';
var $mozWidget;

public function __construct()
{
if (!class_exists('Gtk'))
{
die("Error: php-gtk2 module is not loaded!");
}

if (!class_exists('GtkMozEmbed'))
{
die("Error: your php-gtk2 module was not compiled with GtkMozEmbed support (--with-mozembed)!");
}
}

public function take_screenshot($url, $fname)
{
$win = new GtkWindow();
$this->mozWidget = new GtkMozEmbed();

$win->set_size_request(800, 600);
$win->add($this->mozWidget);

$win->show_all();

$this->mozWidget->connect_simple('net_stop' , array($this, 'save_image'), $fname);
$win->connect_simple('destroy', array($this, 'quit'));

$this->mozWidget->load_url($url);

Gtk::main();
}

public function quit()
{
Gtk::main_quit(); // in a perfect world this should be enough
// but due to a bug in php ( http://bugs.php.net/bug.php?id=39572 )
exit; // we must also call this little baby and by doing that we can only run this
// as a console app
}

public function save_image($fname)
{
list($x, $y, $width, $height, $depth) = $this->mozWidget->window->get_geometry();
$pixbuf = new GdkPixbuf(Gdk::COLORSPACE_RGB, false, 8, $width, $height);
$pixbuf->get_from_drawable($this->mozWidget->window, $this->mozWidget->get_colormap(), 0, 0, 0, 0, $width, $height);
$pixbuf->save($fname, 'png');
$this->quit();
}
}


$test = new GtkMozEmbedScreenshot();
$test->take_screenshot("http://www.onurvardi.com/", "test.png");

?>
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
Rica ediyorum, işiniz görüldüyse ne mutlu :)
 
Geri
Üst