mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 20:42:21 +02:00
Initial checkin
This commit is contained in:
parent
c74712dad9
commit
078564ac9e
3242 changed files with 1616395 additions and 0 deletions
76
BeefySysLib/img/ImageAdjustments.cpp
Normal file
76
BeefySysLib/img/ImageAdjustments.cpp
Normal file
|
@ -0,0 +1,76 @@
|
|||
#include "ImageAdjustments.h"
|
||||
#include "ImageData.h"
|
||||
#include "PSDReader.h"
|
||||
#include "ImageUtils.h"
|
||||
#include "ImgEffects.h"
|
||||
|
||||
USING_NS_BF;
|
||||
|
||||
ImageAdjustment::~ImageAdjustment()
|
||||
{
|
||||
}
|
||||
|
||||
void ImageAdjustment::ApplyImageAdjustment(PSDLayerInfo* layerInfo, ImageData* image)
|
||||
{
|
||||
}
|
||||
|
||||
ImageData* ImageAdjustment::CreateAdjustedImage(PSDLayerInfo* layerInfo, ImageData* destImage)
|
||||
{
|
||||
ImageData* newImage = destImage->Duplicate();
|
||||
ApplyImageAdjustment(layerInfo, newImage);
|
||||
CrossfadeImage(destImage, newImage, layerInfo->mFillOpacity / 255.0f);
|
||||
return newImage;
|
||||
}
|
||||
|
||||
void InvertImageAdjustement::ApplyImageAdjustment(PSDLayerInfo* layerInfo, ImageData* image)
|
||||
{
|
||||
int size = image->mWidth*image->mHeight;
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
image->mBits[i] =
|
||||
(image->mBits[i] & 0xFF000000) |
|
||||
((0xFFFFFFFF - image->mBits[i]) & 0x00FFFFFF);
|
||||
}
|
||||
}
|
||||
|
||||
void SolidColorImageAdjustement::ApplyImageAdjustment(PSDLayerInfo* layerInfo, ImageData* image)
|
||||
{
|
||||
int size = image->mWidth*image->mHeight;
|
||||
for (int i = 0; i < size; i++)
|
||||
image->mBits[i] = mColor;
|
||||
}
|
||||
|
||||
GradientImageAdjustement::~GradientImageAdjustement()
|
||||
{
|
||||
delete mFill;
|
||||
}
|
||||
|
||||
void GradientImageAdjustement::ApplyImageAdjustment(PSDLayerInfo* layerInfo, ImageData* image)
|
||||
{
|
||||
mFill->Apply(layerInfo, image, image);
|
||||
}
|
||||
|
||||
PatternImageAdjustement::~PatternImageAdjustement()
|
||||
{
|
||||
delete mFill;
|
||||
}
|
||||
|
||||
void PatternImageAdjustement::ApplyImageAdjustment(PSDLayerInfo* layerInfo, ImageData* image)
|
||||
{
|
||||
mFill->Apply(layerInfo, image, image);
|
||||
}
|
||||
|
||||
void BrightnessContrastImageAdjustment::ApplyImageAdjustment(PSDLayerInfo* layerInfo, ImageData* image)
|
||||
{
|
||||
int size = image->mWidth*image->mHeight;
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
PackedColor* color = (PackedColor*) (&image->mBits[i]);
|
||||
//int effect = 256 - (int) (pow(abs(color->r - mMeanValue)/127.0, 2.0)*127);
|
||||
//color->r = BFClamp(color->r + effect*mBrightness/256, 0, 255);
|
||||
|
||||
color->r = (int) (pow(color->r / 255.0f, 1.0f - mBrightness/200.0f) * 255);
|
||||
|
||||
image->mBits[i] = *((uint32*) color);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue