Рубрика «HSB»

image

Несмотря на то, что подбор хороших цветов — это искусство, существует несколько трюков, позволяющих упростить выбор красивого цвета. Эта статья состоит из двух частей: в первой я расскажу, что делает палитру хорошей, а во второй выведу формулу, которую можно использовать для подбора красивой палитры.

Примечание: это далеко не единственный способ выбора хороших цветов, скорее, набор эвристик, которые я освоил самостоятельно. Надеюсь, что это поможет вам подбирать правильные цвета для вашего веб-сайта/приложения/игры.
Читать полностью »

Так уж получилось, что мне надо было написать маленькую программку для получения HSB-характеристик изображения. Самое тривиальное решение пришло в голову сразу:

public struct HSB
{
      public float H, S, B;
}

public static HSB GetHSB(Bitmap img)
{
      HSB imgHSB = new HSB();
      int width = img.Width, height = img.Height;
      int pixelsCount = height * width;

      for (int i = 0; i < pixelsCount; i++)
      {
            int y = i / width, x = i % height;
            imgHSB.H += img.GetPixel(x, y).GetHue();
            imgHSB.S += img.GetPixel(x, y).GetSaturation();
            imgHSB.B += img.GetPixel(x, y).GetBrightness();
      }

      imgHSB.H /=  pixelsCount;
      imgHSB.S /= pixelsCount;
      imgHSB.B /=  pixelsCount;
      return imgHSB;
}

Но оно не удовлетворило меня своей медлительностью: для изображения с размерами 2100х1500 пикселей метод выполнялся долгих 14209мс. Оказалось, что во всем виноват метод Bitmap.GetPixel.
Следовало искать другие, более быстрые способы.
Читать полностью »

Piccy.info - Free Image Hosting
Мы часто говорим о таком понятии как свет, источниках освещения, цвете изображений и объектов, но не совсем хорошо себе представляем, что такое свет и что такое цвет. Пора разобраться с этими вопросами и перейти от представления к понимаю.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js