Jump to content
Rongkongcoma

How to reduce colors in Photos to create C64 looking Photos?!

Recommended Posts

Hello. 

First sorry that my english is not the best.
Hope you understand what i want anyway. 

My question is the following:

I want to open a photo and i want to reduce the colors of it or better give him a look of other colors.
Exactly i want to change some photos to a similar look to C64er or Amiga 500 photos. 

In Gimp it is easy. 
Create your own colors you want to use in a color palette ... go to program tab colors>mode>change from RGB to indicated>and choose own color palette and push enter ... voila ... photo changes to the reduced colors i want. 
After that ... the effect goes much better when use from program tab filter>pixelate>and then choose the max of the pixelation for height and width. 
(There is a pixelation filter in Affinity Photo too ... even when obiously there is only a simple height and width in one bar ... but maybe i do something wrong or i have not seen some tuning for width and height for its own.)
 

So my question is ... how can i do that in Affinity Photo too?
I have searched the internet and youtube fpr hours. 
There are some tutorials how to create a color palette from a picture ... to use that for text passages in same colors as the pictures itself. 
But i have not found any easy tutorials to change the colors of the photo to the reduced color palette. 
Or is it not possible to create C64 looking pictures as easy like in Gimp?

Hope someone can help and show me a video tutorial or an easy to understand written tutorial.
 
 
 

Share this post


Link to post
Share on other sites

I would say to just stick with Gimp. Or Krita, which allows for a non-destructive pixelate filter that offers separate controls for x and y resolution, as well as the brilliant new Palettize filter. Use the right tool for the job, and in this case Affinity Photo just makes the process painful.

There is no Palettize filter in Photo. There is no direct method to pixelate with 2:1 pixels in Photo.

Photo should have at least an option to use a custom palette in the export persona, but it's been broken for more than 3 years now since it was first reported!

Just stick with Krita or Gimp for this job (or just about any other image editor out there: most do have similar options), and import the result in Affinity if required. I have a feeling the development team has many other things at the top of their to-do list to fix or improve first. I mean, the custom palette export option is SO BASIC a feature, yet after more than 3 years it is still not fixed.

A bit of a sad state of affairs, but it is what it is.

Share this post


Link to post
Share on other sites

Here is a link to the palette of 16 colors that the C64 had available for display:

c64_16farben.png

and

https://www.c64-wiki.com/wiki/Color

You can use this to construct a custom palette in an application that supports such things and see if that works for you.  I encountered the long-standing lack of a way to specify a custom palette for GIF export as well and got the same error as in the thread to which @Medical Officer Bones linked.

Share this post


Link to post
Share on other sites

Perhaps it could be done with a CLUT?


Affinity Photo 1.8.4, Affinity Designer 1.8.4, Affinity Publisher 1.8.4;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 40GB RAM; macOS 10.15.6
Affinity Photo 
1.8.4.186 & Affinity Designer 1.8.4.4 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.0.1

Share this post


Link to post
Share on other sites
12 hours ago, kirkt said:

Here is a link to the palette of 16 colors that the C64 had available for display:
{...}
https://www.c64-wiki.com/wiki/Color
{...}
You can use this to construct a custom palette in an application that supports such things and see if that works for you.

Like this?

C64 palette.afpalette


Affinity Photo 1.8.4, Affinity Designer 1.8.4, Affinity Publisher 1.8.4;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 40GB RAM; macOS 10.15.6
Affinity Photo 
1.8.4.186 & Affinity Designer 1.8.4.4 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.0.1

Share this post


Link to post
Share on other sites

Depending on what you are aiming for you could try to Posterise your image. Use Levels > New Adjustment Layer > Posterise...

This will reduce the number of colours in your palette, but not necessarily exactly the same as the number given in the dialogue box.

John


Windows 10, Affinity Photo 1.8,5 Designer 1.8.5 and Publisher 1.8.5 (mainly Photo), now ex-Adobe CC

CPU: AMD A6-3670. RAM: 16 GB DDR3 @ 666MHz, Graphics: 2047MB NVIDIA GeForce GT 630

Share this post


Link to post
Share on other sites
2 hours ago, R C-R said:

Like this?

Yes, but just having the palette would make it pretty hard to try to achieve something like this:

balloones.jpg.f9bec84e724b11d7260beba5a9751b3b.jpg

To this (GIMP, 100% dithering, the other option being in practice no dithering):

balloons_c64_gimp.png.c27b2fd590e5ba49b2a7c055a7eb2830.png

...or this (Photoshop, where you can specify dithering rate from 0 to 100%, here 50%):

balloons_c64_ps.png.07566fd58f2e4b7f64ff1f752f673f80.png

Using posterizing and then area selections and pouring in colors from the palette may work with some images, but it would be painful process compared to what you can achieve with apps that support paletted images.

Share this post


Link to post
Share on other sites
3 hours ago, Lagarto said:

Yes, but just having the palette would make it pretty hard to try to achieve something like this:

To be fair, if you ever used a C=64 back in the day then you know it would have been very hard if not impossible to get anything that looked halfway decent unless from the beginning you limited the colors of your artwork to the built-in 16. Otherwise, you get that grainy dithering effect that makes things look like they were treated with coarse sandpaper.

I think the best way to get something that looks authentic in AP might be with a CLUT. I have no Python skills but maybe someone who does could use the method discussed at https://gist.github.com/tomconte/3733644 to make one that works with AP & post it here?


Affinity Photo 1.8.4, Affinity Designer 1.8.4, Affinity Publisher 1.8.4;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 40GB RAM; macOS 10.15.6
Affinity Photo 
1.8.4.186 & Affinity Designer 1.8.4.4 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.0.1

Share this post


Link to post
Share on other sites

What i mean is shown in this pictures i attached here wich i made with Gimp in some clicks.

Original and manipulated Original as C64 Look with the own used color palette of 16 colors.

I cant believe that this is impossible with a priced program like Affinity and with a for free programm Gimp it is possible. 

That would be too rediculous. 

 

 

heide.jpg

heidec64.jpg

Share this post


Link to post
Share on other sites
1 hour ago, Rongkongcoma said:

... I cant believe that this is impossible with a priced program like Affinity and with a for free programm Gimp it is possible. 

That would be too rediculous. 

I cannot believe that an application such as GIMP that has been in constant development since 1996 or so is still not color-managed (like Affinity applications are). Nor capable of a true CMYK mode.

No single application--free or paid-for--can do everything a user wants to do or needs to do. Either use a combination of applications to achieve your goals or settle on one application and live within its limitations.

Share this post


Link to post
Share on other sites
25 minutes ago, Rongkongcoma said:

And what exactly you want to tell me with your text MikeW???

I'm trying to tell you two things:

1) that gimp or any other application cannot do everything that another application is or may be able to do.

2) either use a combination of applications to achieve what you desire to do, or pick a single application and create what you desire within its limitations. 

Every application has limits to what can be accomplished. To write that it is ridiculous that an application such as Affinity (Designer, Photo or Publisher) cannot do something an application such as gimp (which has been in development for 20 plus years) is itself a ridiculous statement. 

Share this post


Link to post
Share on other sites

You dont read between the lines. 

I did not wrote that it IS ridiculous that Affinity cannot do something that Gimp can. 

I wrote it WOULD be ridiculous. 

The meaning lies on WOULD ... Fanboy of Affinity. 😄

In other words ... i am SURE Affinity Photo CAN do it too.

But none of you guys know how to. 

But then ... why you post something here on my question?

To fill the forum so i cannot see the important answers?

Wich are not here so far!

Like it would spell in german ... den Wald vor lauter Bäumen nicht sehen ... translated ... not be able to see the forest because of all the trees. 

But that is a problem in EACH forum. 

Teasing people because of their not so good foreign language spelling instead of telling the right help or say nothing if there is no clue.

But I see where this leads to. 

So i deactivated the replies. 

I think i use Gimp and forget about help in forums. 

Did not lead to anything instead of teasing or hate posts. 

Share this post


Link to post
Share on other sites

Affinity cannot do as you want Rongkongcoma, maybe it will be added later but for now you will have to rely on another app. By all means make a suggestion for what you would like in Affinity here: https://forum.affinity.serif.com/index.php?/forum/52-feature-requests-suggestions/

I wouldn’t discount forums altogether they are a good source of info.


iMac 27" Late 2015 Fully Loaded, iMac 27" Mid 2011 both running High Sierra 10.13.6 - Affinity Designer/Photo & Publisher - Illustrator CC, Inkscape, Blender, Sketchup, Pepakura Designer, MTC, Pixelmator & Pixelmator Pro + more... XP-Pen Artist-22E, - iPad Pro 12.9 B|  

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Share this post


Link to post
Share on other sites

@Rongkongcoma - Here is a HALD Identity Image run through the Python code to which @R C-R linked.  In AP, you can use the HALD identity image and its transformed mate as a pair of images in a LUT adjustment layer using "Infer LUT."  Otherwise, you can run your image through the Python code and it will transform the image itself. 

To control the distribution of color, I would add a Posterize adjustment layer below the LUT layer.

kirk

Attached images:

1) "lookup1024.png" the identity image

2) "paletteC64_first.png" - the transformed identity image mapped to the C64 color palette.

 

FYI - the code looks at the R, G and B values of each pixel and then figures out the distances from that color to the 16 colors in the C64 palette.  It then sorts the list of distances and saves the C64 palette color associated with the closest distance to the pixel's color.

lookup1024.png

paletteC64_first.png

Share this post


Link to post
Share on other sites

There's also an iPhone app which allows you to choose from several old consoles and computer systems from back in the day:

https://apps.apple.com/us/app/consolecam/id1496896085

kirk

Attached is the output of the ConsoleCam app, for the C64 hi resolution machine, with the "less detail" setting enabled.

IMG_1083.JPG

Share this post


Link to post
Share on other sites

Here is a TRUE Commodore 64 version: one that would be displayed exactly like this, including the infamous 3 colours + 1 background colour per 4 by 8 tile!

The zoomed version:

image.png.3e3160858549f6f23e5dd896148b0d0b.png

...and the 320x200 version at double pixel res:

c64_version.png.f70bcf5cb2b4a107ff0ed8032c5bd9f0.png

To generate an image like this needs specialized software that keeps track of the physical resolution limitations of these older 8-bit machines. In this case I used Affinity Photo to resize the image to 640x400 (double 320x200), open in Krita, use the Palletize filter with a C64 Lospec PAL file and Pixelate at 4:2 (this is the reason I needed to feed it a 640x400 image: the pixelate filter cannot go below 2). This then generates a version which can be downsampled in Affinity with nearest neighbour to 160x200.pixels. All double pixels are maintained this way in the next step!

To ensure the hardware limitations (no more than 3+1 colours per 4 by 8 pixel tile) of the original c64 are maintained, I created a C64 Multi Color image in Pro Motion NG. Pro Motion NG is "aware" of the colour screen mode constraints of the older 8bit machines. Pro Motion NG automatically fixes any tile that contains more than the aforementioned hardware limit.

I pasted the 160x200 image in PM, and saved the final result.

This version could be displayed on a real Commodore 64!

Anyway, in this little project I used three different apps to create the final result. I'd suggest to be pragmatic about software: use the right tool for the right job, and have a range of tools in your tool bag. I use Affinity for certain things, PhotoLine for other things, Krita, even an older version of PS CS6 and GIMP for various jobs, when they call for it.

 

Share this post


Link to post
Share on other sites
2 hours ago, kirkt said:

Here is a HALD Identity Image run through the Python code to which @R C-R linked.

Thanks for creating the 2 HALD images. If I understand this correctly, they are 'level 10' HALD's; which means using the AP Inferred LUT with them will interpolate a great many pixel colors in the photo that do not exactly match any of those in the HALD pair, which results in a lot more colors than in the C=64 palette. (I am probably describing this poorly but I hope you understand what I mean.)

That is why to get closer to the actual C=64 palette it is necessary to posterize the result, but it still does not perfectly reduce the colors to that palette. It is easy to see this if the AP Create Palette from Document function is used -- typically there will be several dozen colors in that palette. So maybe a "level 16" version of the HALD pair would do the reduction to 16 colors perfectly?

Even so, as @Medical Officer Bones mentioned, that still would not create an 'authentic' C=64 look because it does not account for the tiling limitations of that machine.

The ConsoleCam app you mentioned looks like the easiest way to get an authentic C=64 look, but of course it requires an iPad or iPhone to use it. Since I do have an iPad, I tried it out on a 1280x960 px vacation photo I shot with an old Olympus point & shoot camera. Even reduced here to the C=64 320x200 resolution, it is easy to see how extreme the limitations of that old 'retro' look actually were.

238710599_ConsoleCamcompare.png.fc6060cb3a9188789dac67cbe953ee75.png


Affinity Photo 1.8.4, Affinity Designer 1.8.4, Affinity Publisher 1.8.4;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 40GB RAM; macOS 10.15.6
Affinity Photo 
1.8.4.186 & Affinity Designer 1.8.4.4 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.0.1

Share this post


Link to post
Share on other sites
11 hours ago, Medical Officer Bones said:

To ensure the hardware limitations (no more than 3+1 colours per 4 by 8 pixel tile) of the original c64 are maintained

It is interesting to learn that such limitations existed even if there were no similar requirements as with early computers running in GUI where multiple windowed applications could be run side by side and use common system palette (or custom palettes could be used, as well, but then this would affect anything seen on the screen).

E.g., this is how the balloons would look dithered with an early Windows 16-color system palette:

win16_balloons_ps_320x200.jpg.fb9f7fd8fbd18d7bddad7b790b37d16d.jpg

There is also a site at http://c64.superdefault.com/ that converts online images to C64. It does not allow much control, so here it has produced the sky with gray and blue to simulate the original blue of sky (not probably anything desired), but I suppose it can handle the aforementioned hardware limitation(?):

c64_balloons_c64.superdefault_320x200.jpg.908cf17260165f8ddf3f055415cd68d9.jpg

Thanks for the information about Pro Motion NG -- will have a look on it!

UPDATE: Here is an interesting discussion related to C64 palettes, its hardware limitations (dithering restrictions):

https://news.ycombinator.com/item?id=14519093

UPDATE2: It seems the online tool C64 Yourself mentioned above might be able to handle the hardware limitation. I found a tool called Multipaint (at http://multipaint.kameli.net/) (for WIndows, Linux and macOS) that allows image editing using several old formats, and when I loaded the image generated by this site, get the following:

multipaint.png.299687e494b1b947095d6ebec4790c01.png

This tool shows the 4 x 8 double wide pixel grid, too, so it is easy to see where tile boundaries are.

Share this post


Link to post
Share on other sites
43 minutes ago, Lagarto said:

There is also a site at http://c64.superdefault.com/ that converts online images to C64.

That site includes a link to http://unusedino.de/ec64/technical/misc/vic656x/colors/, a lengthy analysis that attempted to produce a reasonably definitive C=64 color palette because various C=64 emulators (including those mentioned in our discussion here) do not all use the same set of 16 RGB colors.

The email at the end of that article explains that in fact there were color palette differences from one C=64 to the next because different lots of the VIC II chips used in C=64's did not all output the same uniform set of 16 colors to TV's.


Affinity Photo 1.8.4, Affinity Designer 1.8.4, Affinity Publisher 1.8.4;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 40GB RAM; macOS 10.15.6
Affinity Photo 
1.8.4.186 & Affinity Designer 1.8.4.4 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.0.1

Share this post


Link to post
Share on other sites
1 minute ago, Medical Officer Bones said:

My graphics career started with a C64, Koala Paint and Pad in the 80s.

Not that it was ever a career for me but I started out with a VIC-20, & moved on to a C=64. I had a Koala Pad but I never used it much. I ended up with a Commodore 128, complete with a 512K memory expander & 1571 floppy disk drive, which I used to run GEOS & geoPaint, geoDraw, geoPublish, & several other GEOS apps. I even bought a composite video monitor to use with the 128's RGBI 80 column output.

I only used the 128 for less than a year because it was much too slow for serious work, & did not buy or use another personal computer until years later when I bought my first PowerBook.


Affinity Photo 1.8.4, Affinity Designer 1.8.4, Affinity Publisher 1.8.4;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 40GB RAM; macOS 10.15.6
Affinity Photo 
1.8.4.186 & Affinity Designer 1.8.4.4 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 14.0.1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

Please note the Annual Company Closure section in the Terms of Use. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.