Author |
Topic |
|
xequte
38705 Posts |
Posted - Dec 12 2017 : 15:32:24
|
We have just released ImageEn v7.5.0, which is a free update if you purchased a license or extension after 13 December 2016. You can request the download from:
http://www.imageen.com/support/downloadrequest.html
Other users can extend their registration for 12 months at:
http://www.imageen.com/order/index.html#Extensions
Top Ten Enhancements
1. New Cloning Tool to erase unwanted content
2. New interactive Brush Tool to paint images
3. New interactive Rotation Tool to freely rotate and flip images
4. LibRaw can be used for Digital Camera Raw formats, providing support for more cameras, multi-shot photo and interpolation features
5. Enhanced PSD features, including support for loading and saving files without merged images, and reading and writing of Exif tags
6. New mouse interaction allows selection of background or subject using a Chroma Key algorithm
7. Filename filtering for TImageEnMView and TImageEnFolderMView
8. All new component icons, plus ImageEn properties can now be categorized in Object Inspector
9. Gradient, Alpha and Graduated Alpha fills
10. New Actions: TImageEnViewCloneTool, TImageEnViewBrushTool, TImageEnViewSprayTool, TImageEnViewRotateTool, TImageEnViewRotateAndCropTool, TImageEnViewShowGuidelines, TImageEnViewSelectChromaKey
Complete Change History: http://www.imageen.com/info/history.html
Nigel Xequte Software www.xequte.com nigel@xequte.com |
|
w2m
USA
1990 Posts |
Posted - Dec 14 2017 : 14:13:12
|
I have been experimenting with the new brushtools which is awesome addition to ImageEn which has been desired by many users for years. Thank-you.
I am finding that with 32-bit RGBA painting, the painted brush alpha is not correct. Painting on the alpha channel does not paint at all when alpha is 0 and the alpha values are either incorrect or I am determining (getting) the alpha value under the mouse cursor incorrectly. To test this add the following to the BrushTools demo:
procedure TForm1.ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
iX: Integer;
iY: Integer;
iAlpha: Integer;
iRGB: TRGB;
iColor: TColor;
iisImageLayer: Boolean;
begin
iX := ImageEnView1.Layers[ImageEnView1.LayersCurrent].ConvXScr2Bmp(X);
iY := ImageEnView1.Layers[ImageEnView1.LayersCurrent].ConvYScr2Bmp(Y);
iisImageLayer := ImageEnView1.CurrentLayer is TIEImageLayer;
if (iisImageLayer) and (iX >= 0) and (iX <= ImageEnView1.IEBitmap.Width - 1)
and (iY >= 0) and (iY <= ImageEnView1.IEBitmap.Height - 1) then
begin
X1.Caption := 'X: ' + IntegerToString(iX);
Y1.Caption := 'Y: ' + IntegerToString(iY);
iRGB := ImageEnView1.Layers[ImageEnView1.LayersCurrent].Bitmap.Pixels[iX, iY];
iColor := TRGB2TColor(iRGB);
iAlpha := ImageEnView1.Layers[ImageEnView1.LayersCurrent].Bitmap.Alpha[iX, iY];
ColorUnderCursor1.Brush.Color := DitherColor(iColor, iAlpha);
Alpha1.Caption := 'Alpha: ' + IntToStr(iAlpha);
Opacity1.Caption := 'Opacity: ' + IntToStr(IEAlphaToOpacity(iAlpha)) + '%';
end;
end; For example if you paint with an alpha of 128 the apparent dithered color is correct, but the actual alpha value is incorrect at 255.
Bill Miller Adirondack Software & Graphics Email: w2m@hughes.net EBook: http://www.imageen.com/ebook/ Custom Commercial ImageEn Development |
|
|
xequte
38705 Posts |
Posted - Dec 18 2017 : 13:40:52
|
Hi Bill
We're still deciding the best way to handle this. It is more complex than it seems, for example, if you paint an alpha 128 brush onto a solid image, the alpha of the image should not change, but the image should shine through the brush (i.e. painted with 50% transparency, however if you paint an alpha 128 brush onto a blank image, then presumably the image's alpha should change to 128 but be painted with 0% transparency.
So far so good. Now what happens if the image is already 128 alpha? Do we raise the alpha to 255 and paint with 50% transparency or leave it as 128 and paint with 0% transparency?
And worse, what if there is different levels of alpha where we paint, e.g. half blank and half opaque? Ugh.
I'm really not sure what the right answer is here. We may need to have two properties.
Nigel Xequte Software www.imageen.com
|
|
|
w2m
USA
1990 Posts |
Posted - Dec 18 2017 : 14:08:56
|
1. I would think that if the image is 32bit and the user draws on layer 0 (the raw image with no layers) you could draw the color that uses the selected brush color and alpha value. In this case, the original pixel color and alpha is repainted and overwrites the original pixel color and alpha. If the image is not 32bit (24-bit or less ) then you could draw a dithered color that uses the selected brush color and alpha but does not draw the alpha. I do not think the painted alpha should be adjusted at all biased on the pixels existing alpha value.
function DitherColor(AColor: TColor; AAlpha: Integer): TColor;
{ Dither a 32-bit color (with alpha value) to TColor. }
var
iRGB: TRGB;
begin
iRGB := TColor2TRGB(AColor);
if (iRGB.r = 255) and (iRGB.g = 255) and (iRGB.b = 255) then
begin
iRGB.r := AAlpha;
iRGB.g := AAlpha;
iRGB.b := AAlpha;
end
else
begin
iRGB.r := Trunc(AAlpha / 255 * iRGB.r) + (255 - AAlpha);
iRGB.g := Trunc(AAlpha / 255 * iRGB.g) + (255 - AAlpha);
iRGB.b := Trunc(AAlpha / 255 * iRGB.b) + (255 - AAlpha);
end;
Result := TRGB2TColor(iRGB);
end; 2. If the image has a layer, the original pixel color and alpha is repainted which overwrites the original pixel color and alpha.
I hope this helps and thanks for thinking about this. Perhaps Fabrizio can provide some ideas as well.
Bill Miller Adirondack Software & Graphics Email: w2m@hughes.net EBook: http://www.imageen.com/ebook/ Custom Commercial ImageEn Development |
|
|
xequte
38705 Posts |
|
ali_reza_nazari
Canada
10 Posts |
Posted - Dec 28 2017 : 08:31:32
|
#8203;hi, i build PKIECTRL15.DPK, PKIEDB15.DPK then build and install DPKIECTRL15.DPK but have an error try installation with setup.exe , but after open delphiXe raise same error please help me --- ERROR: the procedure entry point @IExLayers@initialization$qqrv could not be located in the dynamic link library DPKIECTRL15.bpl
Dr. IA Computer |
|
|
xequte
38705 Posts |
Posted - Dec 28 2017 : 14:24:31
|
Hi Ali
You probably have another instance of ImageEn or the ImageEn BPL’s on your Delphi path. Alternatively, when you compiled your packages, they might be pointing to old ImageEn source or DCU files.
Search your system, remove any ImageEn files that you find, then reinstall ImageEn.
Nigel Xequte Software www.imageen.com
|
|
|
ChrisD
USA
1 Posts |
Posted - Mar 26 2018 : 12:09:26
|
I have submitted the form in order to access the download of the latest version of the software. I have not heard back from anyone. Will someone please assist me? We need the update in order to move to the Tokyo version of embarcadaro.
|
|
|
xequte
38705 Posts |
Posted - Mar 28 2018 : 03:29:26
|
Hi Chris
Have you checked your Spam folder?
I can't find any messages under your name. Can you confirm your email address?
Nigel Xequte Software www.imageen.com
|
|
|
|
Topic |
|
|
|