Оптимизација рецидива слике бацх је од суштинског значаја за апликације тешке сликама (е-трговински каталози, галерије, федс). Аспозе.Имагирање за .НЕТ вам омогућава да ефикасно преузмете, ресимирате и кодирате слику док држите свој код у потпуности управљен и преко платформе.
Потпуни пример
Корак 1: Изаберите одговарајућу стратегију рецидива
Изаберите стратегију која одговара вашим ограничењима излаза:
- Ограничене кутије (препоручује се за малине): Употреба
FitInto
Слике су у унутрашњостиtargetWidth × targetHeight
*Без деформације (одржава однос аспекта). - Абсолютна величина (тачни пиксели): Користите апсолутну резиму ако потрошачи захтевају фиксне димензије (може бити поремећена ако се однос аспекта разликује).
- Процентно скалирање: Хенди за јединствену скалацију од различитих величина (на пример, 50% оригинала).
** Тип:** За мреже и друштвене картице, FitInto
Обично је то најсигурнији дефолт.
Корак 2: Контрола меморије и кешинг
Аппосе.Имагинг подржава конфигурисано кеширање тако да велики батови не превазилазе РАМ:
- Prefer on-disk caching za velike poslove (SSD podržan put).
- Поставите кеш фасциклу и величину буџета пре обраде.
// Configure once at startup (example values)
Aspose.Imaging.Cache.CacheType = Aspose.Imaging.Cache.CacheType.CacheOnDisk;
Aspose.Imaging.Cache.CacheFolder = @"D:\imaging-cache";
Aspose.Imaging.Cache.CacheSize = 1L * 1024 * 1024 * 1024; // 1 GB
Такође :
- Na raspolaganju svaki
Image
Čim se spasi. - Избегавајте одржавање многих декодираних слика у животу одједном – процеса по датотеци.
Корак 3: Паралелно безбедно
Коришћење Parallel.ForEach
(Као што је у Гисту), али тунирајте га:
- сет
MaxDegreeOfParallelism
до осетљиве вредности за вашу кутију (ЦПУ корени, брзина И/О, меморијска слушалица). - Свака задатак треба да ради на својим
Image
Пример: Не делите слике објеката кроз траке. - Држите своје опције за кодирање непроменљиве по резерву како бисте избегли спорове.
Упутство: Почните са MaxDegreeOfParallelism = Environment.ProcessorCount
Прилагођавање након профилисања.
Корак 4: Одаберите кодове и квалитет намерно
- За излазе JPEG, тонус величине датотеке против квалитета користећи JpegOptions.Quality (типична слатка тачка: 75–90).
- За имовине које захтевају транспарентност или износ без губитака, уместо тога користите PngOptions.
- Држите формат излаза конзистентан по случају коришћења (на пример, ЈПЕГ за фотографије, ПНГ за УИ имовине).
Корак 5: Кратки кружни неуспјеси; Држите бацх у кретању
Уградите сваки датотеку у покушај/привлачење (као што сте урадили) и пријавите пут + изузетак.
- Скипање не-слика датотеке (филтер проширења напред).
- Пријављивање оригиналних и излазних величина за валидацију штедње.
- Писање неуспеха у ЦСВ-у за поновно трчање.
Корак 6: И / О хигијена
- Уверите се да директоријум излаза постоји и да је на брзим дисковима (ССД).
- Избегавајте писање излаза преко уноса; пишите у одвојени директоријум.
- Ако имате милионе датотека, поделите излазе у подложнике како бисте одржали директоријске листе брзо.
Корак 7: Проверите резултате брзим здравственим прегледом
Након рециклирања:
- Валидирајте ширину / висину према вашим циљевима.
- Потврдите тип датотеке / проширење одговара кодира који се користи.
- Пот-проверите визуелну квалитет за уобичајене случајеве ивице (панораме, мале иконе, транспарентне ПНГ).
Најбоља пракса (Checklist)
- Кацхе: * сет
CacheType
,CacheFolder
И разумноCacheSize
.
- Кацхе: * сет
- ** Паралелизам: ** Употреба
Parallel.ForEach
са тунеломMaxDegreeOfParallelism
· Није подељенImage
у случајевима. - У располагању: * увек располаже
Image
одмах .
- У располагању: * увек располаже
- Инкодер: * Употреба
JpegOptions.Quality
за JPEG; пребацити наPngOptions
Недостатак / Алфа
- Инкодер: * Употреба
- I/O: Одвојени улазни / излазни корени; пре-креирани директоријуми.
- ** Филтрирање:** Ограничите познате проширења слике пре преузимања.
- Logging: Регистрација неуспјеха и основне метрике (бројање, МБ у / из).
- Ажурирања: Држите Асписе.Имитање на датум за континуиране побољшања перформанси.
More in this category
- Оптимизација анимираних ГИФ-а у .NET-у користећи Aspose.Imaging
- Оптимизирајте мулти-странице ТИФФ-а за архивирање у .NET-у са Асписом
- Анимације на основу података у .NET-у са Aspose.Imaging
- Бесплатна и квалитетно дефинисана компресија слике у .NET-у са аспозом.Имање
- Оптимизација високо резолуционих слика за мобилне и веб у .NET-у