astropaykartsatis.net
User Tag List

Yeni Konu Aç Cevap Yaz
7.05.2010, 02:34 1 (permalink)
OnuR
  • Üyelik Tarihi28.10.2004
  • Yaş27
  • Ticaret Sayısı0
  • Mesajlar1,271
PHP ile Sitenin Resmini çekmek #permalink (permalink)
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?
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
7.05.2010, 02:42 2 (permalink)
atay
  • Üyelik Tarihi29.10.2005
  • Ticaret Sayısı0
  • Mesajlar2,178
Salt php ile screenshot almak mümkün değil, işletim sisteminde aracılık yapacak program gerekiyor.

Size kaynak olması için 2 tane sınıfın linkini bırakıyorum,

Linux: http://www.phpclasses.org/package/47...la-widget.html
Windows: http://phpclasses.mkdata.net/package...-Explorer.html
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
7.05.2010, 02:50 3 (permalink)
OnuR
  • Üyelik Tarihi28.10.2004
  • Yaş27
  • Ticaret Sayısı0
  • Mesajlar1,271
Teşekkürler atay, şimdi deniyorum olumsuz bir olayla karşılaşırsam bilgi alırım tekrar..
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
7.05.2010, 02:59 4 (permalink)
OnuR
  • Üyelik Tarihi28.10.2004
  • Yaş27
  • Ticaret Sayısı0
  • Mesajlar1,271
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");

?>

Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
7.05.2010, 03:01 5 (permalink)
atay
  • Üyelik Tarihi29.10.2005
  • Ticaret Sayısı0
  • Mesajlar2,178
Rica ediyorum, işiniz görüldüyse ne mutlu
Hızlı PM Gönder
Gönder
Alıntı ile Cevapla
Yeni Konu Aç Cevap Yaz
Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Seçenekler
Yetkileriniz
Konu Acma Yetkiniz Yok Cevap Yazma Yetkiniz Yok Eklenti Yükleme Yetkiniz Yok Mesajınızı Değiştirme Yetkiniz Yok
BB code is Açık Smileler Açık [IMG] Kodları Açık HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Forum Kuralları
Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
twitter trendlerini php ile çekmek idea PHP 6 9.02.2013 01:40
php ile arka plan resmini sayfaya sığdırabilirmiyiz? Salgopa PHP 4 6.03.2012 12:25
php ile veri çekmek idea PHP 4 9.08.2011 12:08
Php ve ajax ile db'den veri çekmek S3rs3r! PHP 0 26.12.2008 00:33
Php ile sayfalı veri çekmek maxcilopez PHP 8 24.10.2007 17:27

Forum Saati: 04:17. Zaman dilimi GMT +3 olarak ayarlanmıştır.
Powered by vBulletin™ Version 3.8.7
Copyright © 2017 vBulletin Solutions, Inc. All rights reserved.