Інструменти для створення спрацювань CSS? [зачинено]


126

Чи є якісь хороші інструменти для виготовлення css спрайтів?

ІДЕАЛЬНО Я хотів би надати йому каталог зображень та існуючий файл .css, який посилається на ці зображення, і він створить велике зображення, оптимізоване під усі маленькі зображення, та змінить мій .css-файл на посилання на ці зображення.

По крайней мере, я хотів би, щоб він взяв каталог зображень і створив великий спрайт і .css, необхідні для використання кожного в якості фону.

Чи є якісь хороші плагіни Photoshop або повністю роздуті додатки для цього?


Дивіться також stackoverflow.com/questions/519774 / ...
tehvan

Чи можете ви детальніше розглянути трохи більше, чи намагаєтесь ви зібрати всі спрайти на одне велике зображення, а потім скористайтеся css для відображення частини зображення, яка містить правильний спрайт. (техніка розсувних дверей)
teh_noob

1
чи є спосіб змінити колір тла, щоб я міг бачити свої білі значки на спрайпаді?
Джим

24
Я справді не розумію, чому це було закрито ?? Здається, є багато корисних відповідей. Це, мабуть, має бути питанням суперпользователя, тому що я не згадую жодної конкретної мови програмування, але мені подобаються відповіді, які я отримав, і вони, очевидно, були корисними багатьом.
Simon_Weaver

3
Будь ласка, не видаляйте це запитання, це найбільш корисний список в Інтернеті для цієї проблеми і, безумовно, пов'язане з програмуванням (навіть якщо це не питання програмування на вимову) . Це, безумовно, виклик судового рішення, і модники не повинні були його закривати; саме для цього система закриття голосів громади ....
BlueRaja - Danny Pflughoeft

Відповіді:


46

Це зробить 90% роботи за вас: CSS Sprite Generator . Вам все одно потрібно буде самостійно редагувати правила, але інструмент надасть вам фрагменти коду, необхідні для нового файлу CSS.


@ben ідеально! припускаючи, що це працює ;-)
Simon_Weaver

1
Я трохи незадоволений цим інструментом, тому не вибрав його як вибрану відповідь. в кінцевому підсумку обрізання мого зображення, і це не дуже добре пояснює, чому він залишає великі прогалини між зображеннями
Simon_Weaver

Мені це рішення не подобається, хоча, мабуть, воно працює добре. SpriteMe, здається, працює набагато краще.
Чак Ле Бутт

2
Проблема цього інструмента полягає в тому, що зображення не в повній якості.
Джим

50

Моментальний спрайт - це генератор спрайтів CSS, що працює в браузері, над яким я працюю. Це дуже швидко, але не має стільки функцій, як деякі інші. Наразі він працює лише у Firefox чи Chrome, оскільки використовує JavaScript FileReader та HTML Canvas для генерації спрайтів у веб-браузері без завантажень.


1
Нічого собі, який чудовий інструмент. Дякую!
Вівіан Рівер

Я використовував ваш інструмент для роботи на деяких виробничих веб-сайтах з моменту публікації тут. Це дуже просто і легко.
Вівіан-Рівер

7
+1. Ваш інструмент набагато кращий, ніж решта, які я пробував.
Ед Байятес


2
Дякую всім! @Harsh, я згоден щодо верстки - я почав експериментувати з цим досить давно, але ніколи не став працювати: github.com/bgrins/InstantSprite/tree/bin-pack
Брайан Грінстед

31

Зараз є Sprite Me Стів Суудерс. Просто спробує це, і, здається, працює досить добре.

Ось посилання http://spriteme.org/ і ось повідомлення в блозі, яке оголошує його.

http://www.stevesouders.com/blog/2009/09/14/spriteme/


2
+1 Це надзвичайно просто у використанні: просто перейдіть на потрібну сторінку та натисніть закладку SpriteMe ... Він створює зображення та CSS автоматично!
Чак Ле Бутт

Це приємний інструмент, але для нього потрібен ZIP-файл ваших зображень, і порядок, у який він покладає ваші спрайти, є порядком ZIP. Інструмент Брайана нижче дозволяє завантажувати файли та перетягувати, щоб змінити порядок.
Ed Bayiates

Мені подобається, що він має вихідний код у вільному доступі
lkraav

13

Це виглядає перспективно:

http://csssprites.org/

Також я знайшов цю статтю, яка містить корисну інформацію і навіть деякі коментарі читачів, які варто прочитати.

Крім того, очевидно, що в Google Toolkit є щось, тож якщо ви користуєтесь цим, можливо, варто перевірити.


Здається, що сторінка більше не працює ...
Боб

smartsprites.osinski.name було перейменовано на csssprites.org , тому я відредагував це для вас. Здається, це один з небагатьох варіантів, який можна інтегрувати в процес збирання, з того, що я бачив тут.
ripper234

9

Спробуйте це:

http://spritepad.wearekiss.com/


Це, безумовно, законно. Збережені прототипи IMHO є ключовим, тому лише відповідні зображення та рядки коду повинні змінюватись із часом, замість того, щоб перерахувати весь набір координат із кожною зміною вмісту зображення.
lkraav


6

знайшов цей досить швидкий, що обмеження на завантаження 500K може бути болем. вихідний код доступний тут


чому завантаження 500kb буде болем? Я, мабуть, ніколи не хотів би завантажити> 100 Кб
Simon_Weaver

Я сказав, що це може бути болем. Це сорта залежить від програми немає? .. ZIP-файл, заповнений PNG-файлами середнього розміру, наприклад, на значній сітці, ~ ~ міг би працювати близько до цього номера. якщо його всі маленькі растрові карти, то впевнений / немає проблеми.
Скотт Еверден

1
ya, але вся суть css спрайтів полягає в тому, щоб запобігти завантаженню безлічі маленьких зображень з багатьма запитами. якби у вас справді було стільки маленьких спрайтів, завантажуватиметься багато часу, за який час жоден не відображатиметься. найкраще тримати їх, я думаю, щонайбільше 100 кбіт. ви завжди можете зробити декілька
Simon_Weaver

я багато працюю з зображеннями. можливо, не мало css растрових зображень. тож, можливо, тому я і дав застереження. ваші потреби різні / добре. 500 кбіт надійде за секунду на більшості широкосмугових каналів. я першим надіслав прийнятий відповідь на ваш запит, і ось я вниз ~ проголосував і захищав свою мову? що завгодно ...
Скотт Еверден

Для мене це було болем, оскільки зображення, з яких я починав, закінчилися набором більших розмірів, ніж межа, тому мені довелося вирізати або оптимізувати, перш ніж я навіть міг ним користуватися.
Kzqai


4

Ще не ясно, чи вдасться він перетворити його в основну рамку ASP.NET, але ось проект кодеклера Microsoft для csssprites:

http://aspnet.codeplex.com/releases/view/50869

якщо вам це подобається - використовуйте його - або просто подобається ідея, тоді додайте коментар. Я думаю, що це було б чудовою справою в рамках ASP.NET. Я особисто не використовував його (мені довелося вигадувати колесо), але отримав хороші відгуки.


Вона включає наступні компоненти:

  • API для автоматичної генерації спрайтів та вбудованих зображень
  • Контролі та помічники, які забезпечують зручний спосіб входу в API

Особливості, додані у другому випуску:

  • Керування CSS-зв’язком для веб-форм (вибирає належний файл CSS для веб-переглядача користувача, але не відображає зображення)
  • Використання спеціальних шляхів до папок, крім App_Sprites
  • Зміна напрямку плитки зображень спрайтів
  • Об'єднання створеного CSS з власним CSS користувача

Особливості, що розглядаються для майбутніх випусків:

  • Автоматичний вибір найефективнішого кольору фону спрайта
  • Автоматичне мінімізація наданого CSS
  • Компіляція проти .NET 3.5

4

Просто використовуйте http://sprites.scherpontwikkeling.nl/ він може генерувати спрайти з URL-адреси веб-сайту, а також ... Ви можете інтегрувати свої спрайти після розробки вашого веб-сайту. Це дуже просто у використанні;)


3

Не пряма відповідь, але моїм колегам-розробникам та веб-інтеграторам, подумайте про просто узгодження кожного спрайту з двома можливостями; наприклад, сітка 16 пікселів або 32 пікселів. Це значно спрощує обчислення компенсацій у файлі CSS. Весь пробіл між ними не має значення, оскільки формати gifd та png стискають це дуже добре.


хороша порада, хоча я в основному намагаюся поєднати заголовки тексту (1-2 кбіт кожна) в один файл. Я не надто переживаю про білий простір, тому що я знаю, що він стиснеться - я просто не розумію, чому інструменти для того, щоб зробити спрайти так сильно,
Simon_Weaver

Одне застереження до цього - поки пробіл на зображенні буде стиснутий для транспорту, він розширюється і займає пам'ять при завантаженні браузера. Сліпе використання автоматичних інструментів генерації спрайтів може призвести до отримання величезних зображень, які можуть спричинити використання пам'яті на цих сторінках. Певна обережність потрібна для групування зображень, щоб сформувати спрайтові аркуші, щоб це не було в розумних межах.
Сем Фостер

Сам: Правда! З'ясували це пізніше. Якщо спрайт-зображення дуже широке або високе, це щось врахувати! Особливо для мобільних додатків (менше пам'яті). Саймон: білий простір, мабуть, через обмеження CSS. Навіть коли ви не повторюєте фон, спрайт-зображення відображатиметься через набивання, висоту лінії та в основному всю область фону елемента, крім поля та меж. Скажімо, наприклад, у вас є значок для посилання. Якщо посилання охоплюватиме змішані лінії, то інші значки спрайта можуть відображатися наскрізь. Додавання достатньої кількості пробілів робить це більш "стійким".

@Simon_Weaver - на основі зворотного зв'язку тут всякі, я відправив інструмент спрайт , який простий stackoverflow.com/a/13281578/1162141
technosaurus


2

Якщо вам подобається Java, тоді ви можете використовувати GWT 1.5+, який постачається з тим, що називається " ImageBundle ". Компілятор GWT обробляє всі неприємні для вас деталі. Вам навіть не доведеться кодувати один рядок JavaScript або писати будь-який CSS.


2

Ось сценарій, який поєднує зображення за допомогою сценарію Photoshop у спрати CSS . Він не буде робити спрайт-карту, як ви просили, але вона буде поєднувати зображення у кратних розмірах (2, 4, 8), якщо вони однакового розміру. Я вважаю за краще поєднувати подібні зображення (звичайні, наведення курсора, вибрані, батьківські обрані), ніж всі зображення в одному файлі.



2

Там є новий інструмент під назвою ActiveSprites, частина дорогоцінного каміння active_assets.

Github: http://bitly.com/eRTwU4

Ви використовуєте ruby ​​dsl для визначення своїх спрайтів, а потім робіть "рейти спрайт", і спрайти та відповідні таблиці стилів генеруються.

Це рад!

Ось приклад коду,

# config/sprites.rb
Rails.application.sprites do
  sprite 'sprites/sprite1.png' => 'sprites/sprite1.css' do
    _'sprite_images/sprite1/1.png' => 'a.one'
    _'sprite_images/sprite1/2.png' => 'span.two'
  end
end

2

https://github.com/northpoint/SpeedySprite

Цей інструмент використовує новий підхід, оскільки він збирає запитувані зображення на льоту як сервіс http. Це робить весь процес досить простим (попередня обробка не потрібна, зміни зображень в будь-який час): Ви запускаєте послугу, а потім посилаєтесь на всі потрібні зображення у своєму HTML:

<link href="css/my-images-dir/" rel="stylesheet">
<div class="my-image-name-here" />

Оскільки це динамічно, ви навіть можете робити спрайти з динамічного набору зображень, таких як сторінка мініатюр. Хоча не підтримує JPEG, але PNG та GIF працює чудово.


1

Я пропоную вам скористатися Sprite Master Web . Я генерую спрайт-аркуші автоматично та експортую CSS-код для вас. Він завжди намагається генерувати найменші спрайтові аркуші з розширеними алгоритмами.

Ось скріншот та відео на YouTube

введіть тут опис зображення


Варто зазначити, що це не безкоштовний додаток із відкритим кодом, але він коштує ціною 3,99 долара. Він добре побудований і робить хороший стиснення PNG.
t.mikael.d

Тільки для Mac Баммер, цей виглядав перспективно.
Ман

1

Жоден із цих інструментів не відповідав моїм вимогам, тому я написав той, який використовує крихітну бібліотеку зображень Марка Тайлерса, mtpixel (тепер це частина mtcelledit ). Це не надто обширно, але легко розширюється завдяки вбудованим функціям mtpixel, які включають: масштабність сірого, інверсія кольорів , обертання, загострення, квантування, постеризація, фліп (вертикальний і горизонтальний), перетворення, rgb-> індексований, індексований-> rgb, виявлення краю, тиснення, малювання багатокутників, текст тощо.

Все, що вам потрібно зробити, - це передавати йому набір зображень у вигляді аргументів (підтримує png, gif та jpeg), і він виведе rgb png під назвою sprite.png разом з корисними даними нарізки зображення для stdout. Я використовую його в bash-скриптах, щоб справити цілий каталог зображень і вивести дані нарізки для автоматичного генерування css (з надією зрештою зробити це здатним автоматично замінити існуючі теги img автоматично з трохи творчого sed / awk)

Бінарні пакети для щенячого Linux будуть тут:

http://murga-linux.com/puppy/viewtopic.php?t=82009

Мій випадок використання вимагав лише сплайсування зображень вертикально на новий png, так що це все, але це мій вихідний код - публічне надбання, а бібліотека mtcelledit - gpl3. Якщо статично пов'язаний mtpixel, двійковий код становить <100 кбіт (лише кілька кб при динамічному зв’язку), а єдиними іншими залежностями є libpng, libjpeg і libgif (і вільний тип з офіційним mtpixel, але мені текстова підтримка не потрібна, тому мені прокоментував біти вільної форми в статичній збірці)

сміливо змінюйте для власних потреб:

#include <stdlib.h> 
#include <stdio.h> 
#include <string.h> 
#include <mtpixel.h> 

int main( int argc, char *argv[] ){ 
int i=0,height=0,width=0,y=0; 
mtpixel_init(); 
mtImage *imglist[argc]; 
argc--; 
do{   imglist[i] = mtpixel_image_load( argv[i+1] ); 
   height+=imglist[i]->height; 
   if (imglist[i]->width > width) width=imglist[i]->width; 
} while (++i < argc); 
imglist[argc]=mtpixel_image_new_rgb(width,height); 
imglist[argc]->palette.trans=0; 
i=0; 
do{   if (imglist[i]->type == MTPIXEL_IMAGE_INDEXED) 
      mtpixel_image_paste(imglist[argc],mtpixel_image_to_rgb(imglist[i]),mtpixel_brush_new(),0 ,y); 
   else mtpixel_image_paste(imglist[argc],imglist[i],mtpixel_brush_new(),0 ,y); 
   printf("name=%s;width=%d;height=%d;y_offset=%d\n",argv[i+1],imglist[i]->height,imglist[i]->width,y); 
   y+=imglist[i]->height; 
   mtpixel_image_destroy( imglist[i] ); 
}while (++i < argc); 
   mtpixel_image_save( imglist[argc], "sprite.png", MTPIXEL_FILE_TYPE_PNG, 5 ); 
mtpixel_quit(); 
return 0; 
}

0

Якщо ви використовуєте .net, перегляньте http://www.RequestReduce.com . Він не тільки створює файл спрайту автоматично, але і робить це на ходу через HttpModule разом із об'єднанням та мінімізацією всіх CSS. Це оптимізує спрайт-зображення за допомогою квантування та стиснення без втрат, а також обробляє обслуговування створених файлів за допомогою заголовків ETags та Expires для забезпечення оптимального кешування браузера. Налаштування тривіальне, що включає лише просту зміну web.config. Дивіться мій пост у блозі про його прийняття в галереї Microsoft Visual Studio та MSDN Samples.


0

я нещодавно знайшов цей інструмент: SpriteRight http://spriterightapp.com/

SpriteRight - це генератор спрайтів CSS для Mac, який дозволяє імпортувати наявні зображення чи таблиці стилів. Зробіть, щоб ваші сайти завантажувалися швидше, скорочували витрати на пропускну здатність та економили час. SpriteRight навіть генерує CSS-код на льоту.


Варто зазначити, що це не безкоштовний додаток із відкритим кодом, але він коштує ціною 4,99 долара. Він добре побудований і робить хороший стиснення PNG, більше функціональності, ніж вище "Sprite Master Web".
t.mikael.d

І це також mac.
Ман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.