Princess Elizabeth received that basket of flowers brooch from her parents after the birth of Prince Charles. Joye's photo was not as late as that. Prince William of Gloucester was born in 1941, so he was seven years old when Prince Charles was born in 1948. He's much younger than that in the photo.
Now that I have looked at Field's pictures (page 60 in the 1987 edition), I see that the brooch in the picture with Prince William is also not the basket of flowers brooch Princess Elizabeth was given in 1941. It might be the one Boffer described
The brooch in the recent photo is likely to be, I think, a Commonwealth gift.