Personally, I favor the UDN2981 series of source drivers. You can jack up the supply voltage as high as you want (up to 35V or so), to get the drive you need. With all 8 pins sourcing power, you can still drive about 125mA per pin, lots of current for LEDs. Individual pins can handle 500mA, but the chip is somewhat limited to a total current of about 1A. Datasheet shows duty cycle vs pins counts at various currents. Below 125mA per pin, you can drive all 8 pins
Being TTL compatible, I use these with a small PIC to drive 24V relays directly. I put small (10k) pull-downs on the input pins to prevent triggering due to any noise. For more drive, you can parallel matching inputs and outputs together
There are more modern equivalent types of chips out there as well, search for "source drivers". No need for extra transistors....
Not sure if this fits your design or not, but worth considering...