Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как скопировать картинку средствами РНР
 
 автор: Na100yashyi   (12.10.2007 в 15:08)   письмо автору
 
 

Нужно скопировать изображение находящееся другом сервере. Вот пробовал такой конструкцией, но конечно ничего не получилось )) понимаю что с синтаксисом проблемы.
Если картинка имееет размер 550х250, а мне нужно скопировать область изображения 500х200 как правильно задавать координаты?



<?php

$dst_x 
= '60';
$dst_y = '60';
$src_x = '20';
$src_y = '20';
$src_l = '30';
$src_h = '30';
$dst_im = 'StrategyTester.gif';
$src_im = 'http://fxtrade.oanda.com/resources/trastats/i/posentryprice_EUR_USD.png';
$img = ImageCopy ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_l, $src_h);

?> 

   
 
 автор: cheops   (13.10.2007 в 12:03)   письмо автору
 
   для: Na100yashyi   (12.10.2007 в 15:08)
 

Нет, так не получится, функция помоему ImageCopy() работает только с локальными файлами, сначала следует изображение скачать с удалённого сервера на локальный, лишь потом использовать функции GDLib, если в этом возникнет необходимость
<?php
  $url 
= 'http://fxtrade.oanda.com/resources/trastats/i/posentryprice_EUR_USD.png';
  
// Загружаем содержимое удалённого изображения
  
$content = file_get_contents($url);
  
// Сохраняем файл на локальной машине
  
$fd = fopen("posentryprice_EUR_USD.png","w");
  
fwrite($fd, $content);
  
fclose($fd);
?>

а ещё лучше воспользоваться функцией copy()
<?php
  $url 
= 'http://fxtrade.oanda.com/resources/trastats/i/posentryprice_EUR_USD.png';
  
copy($url, "posentryprice_EUR_USD.png");
?>

   
 
 автор: Na100yashyi   (15.10.2007 в 16:05)   письмо автору
 
   для: cheops   (13.10.2007 в 12:03)
 

Спасибо большое, все получилось.

Теперь вот какая проблема, подскажите почему я не могу что-либо нарисовать на локальном файле?
Вот небольшой примерчик, но появляется ошибка???
Изображение Test.png размером 300х400(разноцветное), что не так? Попытка нарисовать на изображении различных линий, тоже неувенчалась успехом, постоянно вылазиют ошибки (

<?php

 $image 
= 'Test.png';
 
ImageEllipse ($im, 100, 100, 20, 50, 0xFFFF00);

?> 

   
 
 автор: cheops   (16.10.2007 в 12:06)   письмо автору
 
   для: Na100yashyi   (15.10.2007 в 16:05)
 

хм.. так файл сначала следует открыть при помощи функции imagecreatefrompng(), которая вернёт дескриптор открытого изображения - именно его вы передаётся в качестве первого параметра остальных функций библиотеки GDLib, в том числе и ImageEllipse().

   
 
 автор: Na100yashyi   (16.10.2007 в 12:12)   письмо автору
 
   для: cheops   (16.10.2007 в 12:06)
 

Все сделал, работает, спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования