Hardware solution to fade LED on/off with digital output
The usual way to do this is to use PWM (Pulse Width Modulation)

Just about any modern microcontroller has a PWM peripheral that can be set up for this purpose. If you don't want to use a microcontroller, a dedicated PWM IC or a timer IC like the ubiquitous 555 can be used.

The process is simple, the pulse frequency is set fast enough so the human eye cannot detect flicker (typically above 25Hz - see Persistence Of Vision) and the time on vs time off is varied from 100% on (full brightness) through 50% on 50% off (half brightness) to 0% on (off)
Note that this can easily be used for an array, you simply supply the PWM to all the LED driver transistors (make sure the base current is adequate for bipolar, or use MOSFETs. Design choices would depend on what type of LED you are driving, high/low current)

Check on the 'net for "555 LED Fade" and you should get plenty of results. Here's one picked at random from here ( I haven't checked it so I can't confirm it works correctly) :



Alternatively, if absolute accuracy of timing is not so important, a simple option would be to use an RC filter and transistor switch. This way the cap doesn't have to supply the LED current, only the base current. Something like this:



Simulation:



Any general purpose NPN should do, and you can tweak the R and C values to suit.  

This option can easily be extended to an current mirror array with the addition of an opamp. This circuit should perform well as long as the transistors are all of the same type (supply used is +5V):



Simulation:



If you have a high enough supply voltage, the LEDs can go in series like this (supply used here is +10V):



Simulation:



Alternatively, if you have a low supply voltage but want to drive the LEDs in series, there are lots of cheap boost ICs such as the CAT4238. This part can dim the LEDS using PWM or a varying DC voltage (details are in the datasheet)