تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو فعال
تاريخ التسجيل: Sep 2006-
#1 (permalink)  
Unhappy هل يوجد كلاس او دالة تقوم بالتحويل من bmp الى jpg


السلام عليكم ورحمة الله وبركاته

مرحبا بكم أيها الاساتذه الكرام

حاليا اُطور سكربت تحميل ملفات وصور متقدم لكن فيه بعض المشاكل

منها ان الزائر اذا قام برفع صوره bmp (حجمها 2 ميقا وتصل الى 6 ميقا !!)

مما يسبب ظغط كبير على السيرفر واستهلاك حاد للسيرفر (خصوصا التوقيعات في المنتديات)

واغلبهم من المبتدئين...الذين لايفقهون شيئا في الاحجام والانساق وهم كثر

علما ان الصوره هذه نفسها لو كانت jpg لما تعدى حجمها 400 كيلو بايت

الخلاصة

هل هناك دالة تقوم بتحويل الصورة من bmp الى jpg
وأؤكد انني اريد ان الزائر اذا اراد ان يحفظ الصوره باسم تكون jpg وليس bmp اطلاقا

انا سأزور الموضوع كل ساعه علي أن أجد فهيما يسعفني ويرد علي

ولكم جزيل الشكر أحبتي






__________________
للتواصل
http://saafer.raslny.com
سفير التقنية غير متواجد حالياً   قديم 25-01-2008, 10:44 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: Apr 2002-
#2 (permalink)  

من خلال مكتبة الصور GD لا يوجد دالة تتعامل مع هذا النوع ... لكن هناك برامج يتم التعامل معها من سطر الاوامر لتحويل من bmp الى jpg مثل imagemagic .
يوجد صنف phpthumb.bmp.php لذلك من هنا phpThumb() - The PHP thumbnail generator

- ينصح بعدم دعم النسق bmp لانه نسق غير جيد للصور ويستهلك مساحه وموارد في حالة التحويل.






__________________
I Love PHP (d4d@hotmail.com)
http://www.daif.net/
daif غير متواجد حالياً   قديم 26-01-2008, 03:10 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2005-
#3 (permalink)  

وليش تسمح للزوار برفع الصور ذات الامتداد bmp ؟؟






مدمن نت غير متواجد حالياً   قديم 26-01-2008, 01:28 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Sep 2006-
#4 (permalink)  

اقتباس:
وليش تسمح للزوار برفع الصور ذات الامتداد bmp ؟
أغلبهم من البنات المبتدئات ماتدري وين ربي حاطها فيه

ولان فيه عدد لا باس بهم عندهم هذي الصور

وماودنا نخسر أعضاء فقلنا نبلي احتياجاتهم

شكرا أستاذ ضيف على افادتك

لكن يبغالي قعده على البرنامج

لاني مافهمت شئ صراحه

هل فيه مثال واقعي عشان اطبقه واعدل عليه.. لي

لان أغلبها سطور لا احتاجها ولا افقه ماذا تقول!!

وانا لست مبرمجا انما مطور ومعدل برامج

واذا فيه زياده او افاده فالشكر لكم مجددا






__________________
للتواصل
http://saafer.raslny.com
سفير التقنية غير متواجد حالياً   قديم 26-01-2008, 02:46 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Sep 2006-
#5 (permalink)  

اممم طيب في سؤال ثاني لو سمحتم


كود PHP:
$GD=ImageCreateFrombm("ss.jpg");
header(' C ontent-type: image/jpeg'); 
ImagePng($GD);
ImageDestroy($GD); 
هذا الكود جميل ومافيه مشكلة

لكن ماذا لو كان الملف ss.bmp

واريد ان اعرضه داخل ملف php
يعني نفس فكرة الكود الي فوق

هل فيه حل؟

صيغة bmp جننتني

وانا لست مبرمج بمعنى الكلمة ولكن اطور بعض السكربتات الموجوده عندي والتي فيها بعض الاخطاء

شكر لكم ومنتظركم على احر من الجمر






__________________
للتواصل
http://saafer.raslny.com
سفير التقنية غير متواجد حالياً   قديم 14-02-2008, 09:16 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jan 2008-
#6 (permalink)  

يمكنك تحويل الي GD

[ دالة ] ConvertBMP2GD

كود PHP:
function ConvertBMP2GD($src$dest false) {
if(!(
$src_f fopen($src"rb"))) {
trigger_error("Can't open $src"E_WARNING);
return 
false;
}
if(!(
$dest_f fopen($dest"wb"))) {
trigger_error("Can't open $dest"E_WARNING);
return 
false;
}
$header unpack("vtype/Vsize/v2reserved/Voffset"fread($src_f14));
$info =
unpack("Vsize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyr
es/Vncolor/Vimportant"
fread($src_f40));
extract($info);
extract($header);
if(
$type != 0x4D42) { // signature "BM"
return false;
}
$palette_size $offset 54;
$ncolor $palette_size 4;
$gd_header "";
// true-color vs. palette
$gd_header .= ($palette_size == 0) ? "\xFF\xFE" "\xFF\xFF";
$gd_header .= pack("n2"$width$height);
$gd_header .= ($palette_size == 0) ? "\x01" "\x00";
if(
$palette_size) {
$gd_header .= pack("n"$ncolor);
}
// no transparency
$gd_header .= "\xFF\xFF\xFF\xFF";
fwrite($dest_f$gd_header);
if(
$palette_size) {
$palette fread($src_f$palette_size);
$gd_palette "";
$j 0;
while(
$j $palette_size) {
$b $palette{$j++};
$g $palette{$j++};
$r $palette{$j++};
$a $palette{$j++};
$gd_palette .= "$r$g$b$a";
}
$gd_palette .= str_repeat("\x00\x00\x00\x00"256 $ncolor);
fwrite($dest_f$gd_palette);
}
$scan_line_size = (($bits $width) + 7) >> 3;
$scan_line_align = ($scan_line_size 0x03) ? - ($scan_line_size 0x03)
0;

if(
$bits == 24) {
$j 0;
$k 1;
$m 2;
$function 'return "';
while(
$j $scan_line_size) {
$function .= "\\0\{\$s\{$m}}\{\$s\{$k}}\{\$s\{$j}}";
$j += 3;
$k += 3;
$m += 3;
}
$function .= '";';
}
else if(
$bits == 32) {
$function 'return "';
$j 0;
$k 1;
$m 2;
$n 3;
while(
$j $scan_line_size) {
$function .= "\\0\{\$s\{$m}}\{\$s\{$k}}\{\$s\{$j}}";
$j += 4;
$k += 4;
$m += 4;
$n += 4;
}
$function .= '";';
}
else if(
$bits == 8) {
$function 'return $s;';
}
else if(
$bits == 4) {
$j 0;
$function '';
while(
$j $scan_line_size) {
$function .= "\$b=ord(\$s\{$j});";
$function .= "\$a[]=chr(\$b>>4);";
$function .= "\$a[]=chr(\$b&0x0F);";
$j++;
}
$function .= "return substr(implode(\$a), 0, \$width);";
}
else if(
$bits == 1) {
$j 0;
$function '';
while(
$j $scan_line_size) {
$function .= "\$b=ord(\$s\{$j});";
$function .= "\$a[]=chr((int)((\$b&0x80)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x40)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x20)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x10)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x08)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x04)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x02)!=0));";
$function .= "\$a[]=chr((int)((\$b&0x01)!=0));\n";
$j++;
}
$function .= "return substr(implode(\$a), 0, \$width);";
}
$f create_function('$s, $width'$function);
for(
$i 0$l $height 1$i $height$i++, $l--) {
// BMP stores scan lines starting from bottom
fseek($src_f$offset + (($scan_line_size $scan_line_align) * $l));
$scan_line fread($src_f$scan_line_size);
$gd_scan_line $f($scan_line$width);
fwrite($dest_f$gd_scan_line);
}
fclose($src_f);
fclose($dest_f);
return 
true;
}

class 
MemoryStream {
var 
$position;
var 
$varname;
var 
$buffer;
function 
stream_open($path$mode$options, &$opened_path)
{
$url parse_url($path);
$this->varname $url["host"];
$this->position 0;
$this->buffer = @$GLOBALS[$this->varname];
return 
true;
}
function 
stream_close()
{
$GLOBALS[$this->varname] = $this->buffer;
}
function 
stream_read($count)
{
$ret substr($this->buffer$this->position$count);
$this->position += strlen($ret);
return 
$ret;
}
function 
stream_write($data)
{
$this->buffer .= $data;
$this->position += strlen($data);
return 
strlen($data);
}
function 
stream_tell()
{
return 
$this->position;
}
function 
stream_eof()
{
return 
$this->position >= strlen($this->buffer);
}
function 
stream_stat() {
return array( 
'size' => strlen($this->buffer) );
}
}
function 
imagecreatefrombmp($filename) {
// use a memory stream instead of a temp file
// where possible
if(function_exists('stream_wrapper_regis
ter'
)
&& 
stream_wrapper_register("mem""MemoryStream")) {
$tmp_name "mem://GD_TMP_FILE";
$del_tmp false;
}
else {
$tmp_name tempnam("/tmp""GD");
$del_tmp true;
}
if(
ConvertBMP2GD($filename$tmp_name)) {
$img imagecreatefromgd($tmp_name);
if(
$del_tmp) {
unlink($tmp_name);
}
return 
$img;
} return 
false;







GlobTrax غير متواجد حالياً   قديم 15-02-2008, 03:57 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jan 2008-
#7 (permalink)  

Sep 2006

غريبة الموضوع بالصفحة الاولي






GlobTrax غير متواجد حالياً   قديم 15-02-2008, 04:00 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الوثيقة الصهيونية لتفتيت الأمة العربية arabevent سوالف عامة 4 27-04-2003 10:24 PM
والله حالتكم حالة .. والضرر لالكم مو الي قلعة العرب إصلاح وصيانة المنتديات 28 16-02-2003 11:08 PM
دورة عن شاشة بدء التشغيل الزرقاء moslem14 أخبار الإنترنت والتقنية ومناقشتها 8 14-04-2002 11:20 PM
الفهيد خطيب شيعي يدعوا علي ابن ابي طالب رضي الله عنه ويستغيث به ونسي ان يدعو الله فلاح سوالف عامة 17 28-03-2002 03:27 AM
سؤال ..هل يوجد برنامج لتحويل نسق Bmp الى موفي او Avi فهودي قسم التصميم والرسومات والمونتاج 0 02-10-2001 02:44 PM


الساعة الآن: 09:45 PM بتوقيت المملكة العربية السعودية