سلام
مي خوام برنامه اي بنويسم كه تصويري رو دريافت كرده و اونو به اندازه هاي مورد نظر كاربر تقسيم كنه
یعنی فقط میخواهید یک تصویر بزرگ را خرد کنید؟
اینکه برنامه نمیخواهد! چهار خط کد میشود.
من همین الآن و در مدت یک یا دو دقیقه کد زیر را نوشتم که کار هم کرد، شما میتوانید به نیاز خودتان کاملترش کنید.
(برای دو دقیقه خوب است)
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با تایپ دستورات فوق حالا با دادن فرمانی مثل این:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فایل file.jpg از عرض و طول به 5 تکه تقسیم میشود و در پوشه VBImage نتیجه که 25 فایل تصویری باشد ریخته میشود.
فرمت خروجی و ورودی قابل قبول هم میتواند jpg-jpeg-jpe-bmp-dib-rle-emf-exif-gif-png-tiff-tif-wmf باشد، با کمی تغییر میتوان ico-cur را هم اضافه کرد.
شرح کد هم ساده است.
- چک میکنیم اگر پوشه مقصد اخرش "\" ندارد، اضافه میکنیم.
- اگر پوشه مقصد وجود ندارد آن را میسازیم
- تصویر را در img بارگذاری میکنیم.
- ابعاد تصاویر کوچک جدید را، از تقسیم ابعاد تصویر اصلی بر تعداد قطعات مورد نیاز به دست می آوریم و در rect میریزیم.
- دو حلقه تو در تو تشکلی میدهیم تا به تعداد قطعات کار را تکرار کنید.
- یک تصویر سفید و خالی با ابعاد کوچک جدید در RAM با نام newimg می سازیم.
- از تصویر یک شی پرده رسم با نام g تهیه میکنیم
- در شی پرده رسم، مختصات مورد نظر در تصویر بزرگ اصلی را به مختصات کل تصویر کوچک کپی میکنیم.
- فایل جدید کوچک را از جمع "پوشه مقصد+سطر+خط تیره+ستون+پسوند png" میسازیم و در destinfile میریزیم.
- تصویر در RAM را با متد Save به و فرمت png در فایل destinfile ذخیره میکنیم.
در اخر یاداوری میکنم که دستور جدید Using خیلی شبیه Dim است با این تفاوت که در End Using شی مورد نظر را کلاً از RAM پاک میکند.
هر کجایش را مشکل داشتید برای توضیح بیشتر و جواب در خدمت هستم.