PDA

View Full Version : تغییر حجم عکس!



aligh662000
چهارشنبه 06 اردیبهشت 1385, 12:10 عصر
سلام می خوام وقتی عکس upload می کنم حجمش کم کنم تا 2تا عکس داشته باشم یکی سایز معمولی و یکی کوچیک تر برای web gallery

لوک خوش شانس
چهارشنبه 06 اردیبهشت 1385, 13:04 عصر
با ASP نمیشه این کار رو انجام بدی. من که ندیدم .

معمولاً برای وب گالری از دو تا عکس یکی سایز کوچک یکی عکس اصلی استفاده می کنن

mkbo_webmaster
چهارشنبه 06 اردیبهشت 1385, 13:44 عصر
مطمئنا هست. من به شما اطمینان میدم که همچین چیزی وجود داره ولی بصورت استاندارد در asp نیست. بلکه بصورت یک class یا component برای asp وجود داره.

من پیشنهاد میکنم برید توی yahoo یا google یه search بکنید. اگه وقت بزارید و واقعا بخواید به هدفتون میرسید.
بعضی ها برای رسیدن به این هدف میرن php یا دات نت یاد میگیرن ولی شما چرا وقتتون رو سر اونا تلف کنید. بجای این برید یه سرچ بکنید، پیدا میکنید.

البته نه اون سرچی که بچه کلاس اولی ها میکنن. منظورم advanced search هستش.

:خجالت:
منم تو برنامه نویسی قبلا سوالات زیادی برام پیش اومده بود که اغلب دست نیافتنی بودند.
مثلا میخواستم یک برنامه mail spider با Visual Basic بنویسیم. مطرح کردم ولی هیچ کس جوابمو نداد احتمالا سطح علمیشون پاسخگو نبوده یا اینکه افتخار نمیدادن.
چون هدفم این بود ، با اینکه اطلاعات چندان پیشرفته و زیادی نداشتم. یک هفته تمام وقتم رو روی این سوال گذاشتم و اینقدر توی سایتها گشتم توی yahoo answers گشتم و .... تا بالاخره یک سورس کد پیدا کردم که خودم هم باورم نمیشد.

در کل نصیحت من به شما اینه که اگه میبینید کسی در پاسخگویی به شما حاشیه میره ، و یا بهتره بگیم افتخار نمیده !!! سعی کنید. با تلاش خودتون اونو بدست بیارید تا موفق بشید.

موفق و پیروز (سوالی داشتید در خدمتیم)






/

لوک خوش شانس
چهارشنبه 06 اردیبهشت 1385, 22:15 عصر
http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/106.gif
خوب اگه شما کامپونت شو دیدید راهنمایی کنید .
من که چیزی در این باره ندیدم ASP.NET هست ولی ASP کلاسیک ...

به قول شما امکان داره که باشه . اگه در این باره اطلاعاتی دارید خوشحال میشم که منم چیزی یاد بگیرم .

سارا نجفی
پنج شنبه 07 اردیبهشت 1385, 08:46 صبح
سلام من جدیدا" یک کلاس پیدا کردم که سایز عکس رو تغییر میده و خیلی امکانات دیگه هم داره البته من خودم هنوز دارم رو برنامه اش کار میکنم که همون کاری رو که شما میخواین ، برای گالری انجام بدم ولی کد برنامه ام کامل نشده. در هر حال کامپوننتش ASPJpeg هست.
http://www.aspjpeg.com
شاید شماهم بتونید در کامل کردن کد به من کمک بکنید.من اگر کدم کامل شد براتون میفرستم.

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 08:48 صبح
من ، مطمئنم که هست، ولی وقتش رو ندارم جستجو کنم. باید ببخشید. اگه یه کم بگردید. به احتمال زیاد پیدا میکنید.
برای اینکه نگید ما راهنمائی نکردیم. آدرس چند تا سایتی رو که از قبل میشناختم رو بهتون میدم تا چک کنید :

www.javascriptkit.com
www.aspupload.com
www.aspsmart.com
www.asp.com
www.sourceplannet.com

و میلیونها میلیون سایت که فقط کافیه سرچ کنید.
اگه دیدید گشتید و مطمئن شدید که به نتیجه ای نرسیدید. اونوقت ما در خدمتیم.
موفق باشید.




/

سارا نجفی
پنج شنبه 07 اردیبهشت 1385, 08:51 صبح
این هم یک کد که من نتونستم ازش استفاده کنم ولی شاید به شما مکم کنه:


<%
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.AllowedFilesList = "jpg,jpeg,bmp,png,gif"

mySmartUpload.DeniedFilesList = "exe,bat,asp,cfm"
mySmartUpload.MaxFileSize = 2000000
mySmartUpload.Upload


target_width = 400
target_height = 400
folder_load_to = "[SET YOUR DESTINATION FOLDER]"

path_use = server.mappath(folder_load_to)

'remove the address info
path_use = replace(path_use, "d:/inetpub/[YOUR SITE NAME HERE]", "")


For each file In mySmartUpload.Files

'check if filename exists
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'load a second variable with the same name to
'avoid 3_2_1_[filename] scenarios when a match exists
'instead you get just [number]_[filename] when a match exists
'also remove commas and other special characters from the filename if they exist

'working_name = replace(file.filename, ",", "")
use_name = replace(file.filename, ",", "")
use_name = replace(use_name, "#" , "")
use_name = replace(use_name, "!" , "")
use_name = replace(use_name, " " , "_")
working_name = use_name


for b = 1 to 500
'if file exists rename variable and test again
if objFSO.FileExists(path_use & "\" & use_name ) then
use_name = b & "_" & working_name
else
exit for
end if
next

set objfso = nothing

save_to = path_use & "\" & use_name
file.SaveAs(save_to)



'resize the image as necessary

Set Image = Server.CreateObject("AspImage.Image")
'get the image file an info
Image.FileName = save_to
Image.LoadImage save_to
Image.GetImageFileSize save_to, intX, intY
Image.JPEGQuality = 70


'is the image the right size?
if intX <> target_width OR intY <> target_height then

if intX < target_width AND intY < target_height then
'do nothing to them, keep as are
else
'which is the smaller of the two?
if intX > intY then
ratio = (target_width/intX)
intX = INT(intX * (ratio))
intY = INT(intY * (ratio))
else
ratio = (target_height/intY)
intX = INT(intX * (ratio))
intY = INT(intY * (ratio))
end if
'resize and save
Image.ResizeR intX, intY
Image.SaveImage
end if
end if

set image = nothing

Set mySmartUpload = nothing
%>

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 08:52 صبح
با تشکر از خانم نجفی ، دیدید ، هرچیزی راهش وجود داره.





/

سارا نجفی
پنج شنبه 07 اردیبهشت 1385, 08:53 صبح
توی کد بالا از کلاسAspSmartUpload استفاده کرده.
اگر تونستید کاری کنید لطفا" به من هم خبر بدید.
مرسی و موفق باشید.

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 08:54 صبح
خانم نجفی لطفا داخل تگ code بزارید و edit کنید





/

سارا نجفی
پنج شنبه 07 اردیبهشت 1385, 09:04 صبح
اگر منظورتون <CODE></CODE> هست؟ امتحان کردم ونشد. میشه منو راهنمایی کنید؟
مرسی

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:15 صبح
روی برو به حالت پیشرفته کلیک کنید. بعد در سمت چپ بالا در کنار EN روی # کلیک کنید. اونوقت کدهاتون رو داخل اون بزارید. البته لزومی به ارسال پست مجدد نیست شما میتونید برید روی همون پستیکه باهاش کد فرستادین و edit رو بزنید و بعد همون کاری رو که گفتم بکنید. یا اینکه راحت تر بگم کدهاتون رو بین همون تگی که خودتون زده بودید و نشد بزارید، ولی با [ ] کاراکتر نه < > .





/

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:23 صبح
حالا درست شد




؟

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:24 صبح
این کدی که دادید component هستش یا class ؟





/

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:33 صبح
چون معمولا component ها رو باید توی Server نصبشون کرد. ولی Class ها اصلا احتیاجی به نصب ندارند.





/

سارا نجفی
پنج شنبه 07 اردیبهشت 1385, 09:33 صبح
این کد ساده است که از کلاس aspSmartUpload ، یک object تعریف کرده. نمیدونم که سوالتون رو جواب دادم یا نه؟
آها نه روی server کامپوننت aspsmartUpload نصب بشه.
البته میگم من خودم متاسفانه از این کد نتونستم استفاده کنم. روی iis کامپیوترم که کامپوننت aspsmartupload نصب شد ولی کد کلاس رو نتونست پیدا کنه و روی وبسرور هم با یک کامپوننت دیگه conflict پیدا کرد و خلاصه مجبور شدم که فعلا" از aspJpeg استفاده کنم.

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:37 صبح
این یه componet هست که مربوط به aspsmart میشه. چطوری سر از سایت aspjpeg در آورده ؟






/

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:40 صبح
احتمالا این کدی رو که گرفتید، داخل چند پوشه بوده که از سایتش دانلود کردید. اگه هست به نظر من بهتره این پوشه رو بطور کلی zip کنید و بفرستید تا ما اول داخل سیستممون اونو نصب کنیم و بعد تستش کنیم.
متشکرم





/

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:43 صبح
آها ، پس باید کامپوننت aspsmartupload رو نصب کنیم.
کاربرهای گرامی میتونن اون از سایت www.aspsmart.com دانلود کنن. که رایگان هم هستش.
با تشکر




/

mkbo_webmaster
پنج شنبه 07 اردیبهشت 1385, 09:45 صبح
ولی باز هم بگم اگه بگردید حتما class اون رو هم پیدا میکنید.
اگه class رایگانی پیدا کنید دیگه داخل هر سروری میشه اجراش کرد.





/

aligh662000
پنج شنبه 07 اردیبهشت 1385, 09:48 صبح
مرسی از کمک هاتون راجع به سایت خانوم نجفی aspmeg قبلآ امتحان کرده بودم سایز عکس عوض می کنه اما حجمش نه!!! راجع به کدی هم که نوشتین اونم فعلآ جواب نمی ده اگه مشکلش پیدا کردم حتمآ بهتون خبر می دم!!! باز هم مرسی اما مشکل من حل نشده

aligh662000
پنج شنبه 07 اردیبهشت 1385, 09:51 صبح
چه جوری میشه حجم عکس رو تو asp عوض کرد!!!!
سایز عکس منظورم نیست!

سارا نجفی
پنج شنبه 07 اردیبهشت 1385, 10:14 صبح
من الان این و امتحان کردم . ببینید جواب میگیرید؟ حجم عکس رو هم تغییر میده:

Set jpeg = Server.CreateObject("Persits.Jpeg")
path = server.mapPath ("upTest")
jpeg.Open path&"\image.jpg"
response.write("OrgW= "&jpeg.OriginalWidth&"<BR>")
response.write("OrgH= "&jpeg.OriginalHeight&"<BR>")
intX = jpeg.OriginalWidth / 10
intY = jpeg.OriginalHeight / 10
response.write("intX= "&intX&"<BR>")
response.write("intY= "&intY&"<BR>")
jpeg.Width = intX
jpeg.Height = intY
jpeg.Save path&"\image.jpg"


البته این هم سایز (طول و عرض) و هم قاعدتا" حجم رو عوض میکنه. امیدوارم که جوابتون رو داده باشه وگرنه باید منظورتون از "حجم" رو بیشتر برام توضیح بدین. (من اینو دارم برای خودم تست میکنم بههمین خاطر هم response.write زیاد داره)

موفق باشید.

لوک خوش شانس
جمعه 08 اردیبهشت 1385, 17:25 عصر
این که حجم عکس رو پایین نمیاره .
فقط طول و عرض رو کم و زیاد میکنه .
یه چیزی این فقط رو JPG کار میکنه دیگه .

برای عکس تو دات نت میشه ولی باید DPI رو کم کنی و هزار دردسر دیگه

در هر صورت اگه تو ASP بشه خیلی عالیه من که ندیدم .

ببینم کسی اینجا میتونه با ASP کلاسیک عکس امنیتی درست کنه ؟ جایی همچین چیزی دیده ؟

لوک خوش شانس
شنبه 09 اردیبهشت 1385, 08:55 صبح
ببینم کسی اینجا میتونه با ASP کلاسیک عکس امنیتی درست کنه ؟ جایی همچین چیزی دیده ؟

aligh662000
شنبه 09 اردیبهشت 1385, 08:56 صبح
منظورت از عکسه امنیتی چیه؟

aligh662000
شنبه 09 اردیبهشت 1385, 08:59 صبح
در ضمن مثال برای سؤالم اینه!!!
یه عکسه با حجم 200k دارم چون می خوام وب گالری درست کنم باید تا حد 20k کوچیکش کنم آیا برای این کار راه حلی هست؟

لوک خوش شانس
شنبه 09 اردیبهشت 1385, 12:19 عصر
علی آقا لطف کن جواب ها تو تو یه پست بده .

منظورت از عکسه امنیتی چیه؟
منظورم همون عکسیه که وقتی میری یه ایمیل از یاهو یا جی میل بگیری باید کاراکتر هایی که تو عکس هست رو وارد کنی تا سیستم متوجه بشه که روباط نیستی . و همینطور به صورت Ofline هم نتونی اون فورم رو پر کنی .

سارا نجفی
شنبه 09 اردیبهشت 1385, 17:27 عصر
علی آقامن واقا" متوجه نمیشم که منظورتون دقیقا"‌چی هست ، خب کدی که من بالا براتون فرستادم همین کار رو میکنه دیگه عکس رو کوچیک میکنه !!!!!! البته ویژگی امنیتی رو پیاده نمیکنه ولی برای گالری عکس رو کوچیک میکنه.

لوک خوش شانس
سه شنبه 12 اردیبهشت 1385, 11:21 صبح
خانم نجفی شما اینو کجا امتحان کردین .
این رو سرور من که کار نکرد . کلاسشو نشناخت . نیاز به کامپونت داره . می دونید که کامپنت رو هم رو سرور نمی تونیم نصب کنیم .

سارا نجفی
شنبه 16 اردیبهشت 1385, 15:32 عصر
من این رو روی یک سرور امتحان کردم که aspSmart روش نصب هست. البته این سرور support‌ممیشه و من خودم کاری روی سرور نمیتونم انجام بدم.

سارا نجفی
دوشنبه 18 اردیبهشت 1385, 09:54 صبح
روی سروری که من host دارم این کارو مدیر admin انجام داده. یهنی کامپومننتش روی سرور هست.

لوک خوش شانس
سه شنبه 19 اردیبهشت 1385, 11:30 صبح
خوب دیگه پس نیاز به کامپونت داره

بدون کامپونت چی ....

آخه سرور شما این کامپونت رو داره ولی بیشتر سرور ها اینو ندارن .

amirlol
یک شنبه 07 خرداد 1385, 00:26 صبح
من نوشتم کدشو
مشکلی داری بگو راهنماییت کنم راجعب عکس امنیتی