Faits :
A.
A._ (ci-après: la Fondation), qui a été constituée en 2016, est une fondation sans but lucratif, dont le but statutaire complet est : a) la promotion du respect des animaux, principalement du cheval, comme symbole de la nature, b) le placement, la prise en charge et le soin de chevaux âgés ou blessés, en particulier de chevaux inaptes à la compétition ou à d'autres usages, c) toutes contributions et actions favorisant le comportement correct de l'homme à l'égard du cheval, notamment en veillant à une " utilisation " respectueuse de l'animal.
Le 1er novembre 2016, la Fondation a formé une demande d'exonération fiscale auprès du Service cantonal des contributions du canton de Fribourg (ci-après: le Service cantonal) pour être exonérée de l'impôt fédéral direct et de l'impôt cantonal. A la demande de cette autorité, elle a précisé qu'elle avait pour but d'acquérir des chevaux destinés à une mort certaine auprès de leurs anciens propriétaires, afin que les chevaux puissent poursuivre leur retraite. Seraient accueillis tous types de chevaux qui se présenteraient, également des jeunes chevaux ne pouvant plus être montés pour des raisons de santé (aveugles, blessures, etc.).
B.
Par décision du 10 octobre 2017, le Service cantonal a rejeté la demande. En substance, il a considéré que la collectivité n'avait pas à intervenir dans le choix de maintenir ou non un cheval en vie, dont le propriétaire souhaitait se séparer. Accorder l'exonération à la Fondation aurait en outre pour effet de créer une distorsion de concurrence par rapport aux institutions offrant les mêmes services que la recourante. Le 3 novembre 2017, la Fondation a formé réclamation contre cette décision. Avec son accord, le Service cantonal a directement transmis le dossier au Tribunal cantonal, Cour fiscale, du canton de Fribourg (ci-après: le Tribunal cantonal).
Par arrêt du 21 décembre 2018, le Tribunal cantonal a rejeté le recours, tant en ce qui concerne l'impôt fédéral direct que l'impôt cantonal.
C.
Agissant par la voie du recours en matière de droit public, la Fondation demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt attaqué tant en ce qui concerne l'impôt fédéral direct que l'impôt cantonal et de l'exonérer d'impôts.
Le Tribunal cantonal et le Service cantonal renvoient à l'arrêt attaqué et concluent au rejet du recours. L'Administration fédérale des contributions conclut au rejet du recours.

Considérant en droit :
1.
1.1. L'arrêt entrepris est une décision finale (cf. <ref-law>) rendue par une autorité cantonale supérieure de dernière instance (cf. art. 86 al. 1 let. d et al. 2 LTF). Il a pour objet l'exonération fiscale de la recourante de l'impôt fédéral direct sur le bénéfice et de l'impôt cantonal sur le bénéfice et le capital. Comme ce domaine relève du droit public (<ref-law>) et qu'aucune des exceptions prévues à l'<ref-law> n'est réalisée, la voie du recours en matière de droit public est ouverte (cf. aussi <ref-law> [RS 642.11] et art. 73 al. 1 de la loi fédérale du 14 décembre 1990 sur l'harmonisation des impôts directs des cantons et des communes [LHID; RS 642.14]).
1.2. Le recours a en outre été déposé en temps utile (<ref-law>) et dans les formes requises (art. 42 al. 1 et 2 LTF) par la destinataire de l'arrêt attaqué, qui a qualité pour recourir (cf. <ref-law>).
1.3. Il convient donc d'entrer en matière.
2.
2.1. D'après l'<ref-law>, le Tribunal fédéral applique le droit d'office. Il examine en principe librement l'application du droit fédéral, ainsi que la conformité du droit cantonal harmonisé et de sa mise en pratique par les instances cantonales aux dispositions de la LHID lorsque les dispositions de cette loi ne laissent pas de marge de manoeuvre aux cantons. Tel est le cas s'agissant du principe de l'exonération de l'impôt pour les personnes morales poursuivant des buts de service public ou de pure utilité publique (cf. art. 23 al. 1 let. f LHID), de sorte que le Tribunal fédéral examinera librement la cause tant sous l'angle de l'impôt fédéral direct que de l'impôt cantonal.
2.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>).
3.
Le litige porte sur le point de savoir si c'est à tort que le Tribunal cantonal a retenu que la recourante ne pouvait pas être exonérée de l'impôt fédéral direct et de l'impôt cantonal sur le bénéfice (et sur le capital pour l'impôt cantonal) en raison de la poursuite d'un but de pure utilité publique.
I. Impôt fédéral direct
4.
Aux termes de l'art. 56 let. g LIFD, les personnes morales poursuivant des buts de service public ou de pure utilité publique sont exonérées de l'impôt sur le bénéfice exclusivement et irrévocablement affecté à ces buts (première phrase). Des buts économiques ne peuvent être considérés en principe comme étant d'intérêt public (deuxième phrase).
4.1. L'exonération d'une personne morale sur la base de l'art. 56 let. g LIFD suppose d'abord la réalisation de trois conditions générales cumulatives: l'exclusivité de l'utilisation des fonds (l'activité exonérée s'exerce exclusivement au profit de l'utilité publique ou du bien commun), l'irrévocabilité de l'affectation des fonds (les fonds consacrés à la poursuite des buts justifiant l'exonération le sont pour toujours) et l'activité effective de l'institution conformément à ses statuts (arrêts 2C_740/2018 du 18 juin 2019 consid. 5.1 et les nombreuses références citées; 2C_835/2016 du 21 mars 2017 consid. 2.1; Administration fédérale des contributions, Circulaire n° 12 du 8 juillet 1994 relative à l'exonération de l'impôt pour les personnes morales poursuivant des buts de service public ou de pure utilité publique ou des buts cultuels et à la déductibilité des versements bénévoles [ci-après: la Circulaire], p. 2, qui ne lie pas le Tribunal fédéral, mais dont il s'inspire [arrêt 2C_484/2015 du 10 décembre 2015 consid. 5.2, in RF 71/2016 p. 359]).
4.2. Outre ces trois conditions générales, il faut, conformément au texte de l'art. 56 let. g LIFD, que la personne morale poursuive un but de service public ou de pure utilité publique. Des conditions spécifiques distinctes s'appliquent à l'exonération selon qu'elle est fondée sur la poursuite d'un but de service public ou de pure utilité publique (cf. arrêt 2C_740/2018 du 18 juin 2019 consid. 5.2).
4.3. L'exonération fondée sur un but de service public doit être interprétée de manière restrictive. Une personne morale poursuit des buts de service public si elle accomplit des tâches étroitement liées aux tâches étatiques (cf. <ref-ruling> consid. 3.3. p. 6; arrêt 2C_740/2018 du 18 juin 2019 consid. 5.3). En l'occurrence, il n'apparaît pas que le but que poursuit la recourante soit un but de service public et ce n'est pas sous cet angle que l'arrêt attaqué examine si la recourante remplit les conditions d'une exonération. La recourante ne soutient du reste pas non plus qu'elle poursuit un but de service public et elle a formé une demande d'exonération en se prévalant de la poursuite d'un but de pure utilité publique.
4.4. L'exonération fondée sur la poursuite de buts de pure utilité publique suppose la réalisation de deux conditions spécifiques, à savoir l'exercice d'une activité d'intérêt général en faveur d'un cercle ouvert de destinataires et le désintéressement (arrêts 2C_484/2015 du 10 décembre 2015 consid. 5.3 et les références; 2C_251/2012 du 17 août 2012 consid. 2.1, in StE 2012 B 71.63 Nr. 28; Circulaire, p. 2 ss).
4.5. En l'occurrence, les conditions générales pour obtenir l'exonération de l'impôt sur le bénéfice ne sont pas litigieuses. S'agissant des conditions spécifiques, le Tribunal cantonal a admis que l'activité de la Fondation était désintéressée. Il a en revanche jugé que cette activité ne pouvait pas être considérée comme étant d'intérêt général.
La recourante soutient que le Tribunal cantonal est tombé dans l'arbitraire et qu'il a violé l'art. 56 let. g LIFD en considérant que son activité ne pouvait pas être considérée comme étant d'intérêt général.
5.
5.1. La notion d'intérêt général ne doit pas être comprise dans un sens large, qui inclurait toute activité au service de la collectivité et qui comprendrait également tous les efforts visant à favoriser les intérêts économiques ou sociaux de certaines catégories de la population. Les buts de pure utilité publique sont ceux qui, du point de vue de la collectivité considérée dans son ensemble, valent particulièrement la peine d'être poursuivis (arrêts 2C_835/2016 du 21 mars 2017 consid. 2.2; 2C_77/2007 du 2 avril 2009 consid. 3.2 in RF 64/2009 p. 487; 2C_592/2008 du 2 février 2009 consid. 2.1, in RF 64/2009 p. 389; 2A.42/2007 du 11 juin 2008 consid. 2.1; <ref-ruling> consid. 2b p. 279; <ref-ruling> consid. 2b p. 9).
L'intérêt général n'est en principe présumé que si le cercle des bénéficiaires auxquels la promotion ou le soutien sont dus est ouvert. Un cercle trop étroit de bénéficiaires (par exemple limité à la famille ou aux membres d'une association) exclut l'exonération (arrêts 2C_835/2016 du 21 mars 2017 consid. 2.2.2; 2C_592/2008 du 2 février 2009 consid. 4.1, in RF 64/2009 p. 839).
5.2. Le point de savoir à partir de quand un but peut être considéré comme étant de pure utilité publique au sens de l'art. 56 let. g LIFD est souvent délicat. C'est la raison pour laquelle le Tribunal fédéral reconnaît que les autorités cantonales, qui sont plus proches de l'affaire et connaissent mieux les circonstances locales, disposent d'un certain pouvoir d'appréciation, et qu'il s'abstient dès lors de toute intervention dans les cas limites (ATF <ref-ruling> consid. 3b p. 11 et consid. 4c p. 12 s.; arrêts 2P.41/1999 du 9 décembre 1999 consid. 4c) bb); 2P.381/1997 du 8 juin 1999 consid. 2c).
5.3. En l'espèce, il ressort des faits constatés que la recourante a pour but d'acquérir des chevaux destinés à une mort certaine auprès de leurs anciens propriétaires, afin que les chevaux puissent poursuivre leur retraite. Ont vocation à être accueillis tous types de chevaux qui se présenteraient, également des jeunes chevaux ne pouvant plus être montés pour des raisons de santé (cécité, blessures, etc.).
5.4. Les juges précédents sont d'avis qu'un tel but n'est pas d'intérêt général et qu'il ne peut de ce fait pas être qualifié de pure utilité publique, parce que la loi fédérale du 16 décembre 2005 sur la protection des animaux (LPA; RS 455) ne protège pas la vie des animaux. Ils en déduisent que, même si elle répond à un souci éthique, la prise en charge de chevaux âgés et/ou blessés, souvent destinés à être euthanasiés, outrepasse le cadre légal suisse de la protection des animaux. En outre, l'euthanasie de tels animaux demeure admise par une part importante de la population, malgré l'évolution des sensibilités concernant le bien-être animal. Au surplus, pouvoir faire appel à la recourante ne sert l'intérêt que de quelques personnes, à savoir les propriétaires financièrement contraints d'abandonner leur cheval, que la perspective de pouvoir offrir à leur animal une retraite peut soulager de la souffrance que représente l'obligation de devoir s'en séparer.
5.5. La recourante soutient d'abord qu'elle poursuit un but d'intérêt général. Son activité serait à la disposition de tout un chacun. Les manèges et les personnes pratiquant l'équitation se multiplieraient et seraient à l'origine d'un véritable phénomène de société. Les juges précédents ignoreraient l'attachement des propriétaires au cheval qui les a accompagnés durant des années, voire des dizaines d'années.
Cette argumentation ne convainc pas. Le fait que l'activité de la Fondation permette aussi d'alléger la peine que peuvent ressentir les propriétaires de chevaux qui doivent se séparer de leur animal ne constitue pas une activité poursuivie dans l'intérêt général. Quoi qu'en dise la recourante, qui se fonde du reste sur des affirmations générales relatives à un prétendu phénomène de société, cet intérêt reste un intérêt particulier des propriétaires concernés.
5.6. La recourante reproche aussi au Tribunal cantonal de considérer que la législation suisse ne protège pas la vie des chevaux. Elle soutient que l'activité qu'elle poursuit contribue à leur bien-être et que cette préoccupation serait partagée par une majorité de la population.
5.6.1. La LPA vise à protéger la dignité et le bien-être de l'animal (art. 1 LPA). Au sens de cette loi, on entend par dignité la valeur propre de l'animal, qui doit être respectée par les personnes qui s'en occupent; il y a atteinte à la dignité de l'animal lorsque la contrainte qui lui est imposée ne peut être justifiée par des intérêts prépondérants; il y a contrainte notamment lorsque des douleurs, des maux ou des dommages sont causés à l'animal, lorsqu'il est mis dans un état d'anxiété ou avili, lorsqu'on lui fait subir des interventions modifiant profondément son phénotype ou ses capacités, ou encore lorsqu'il est instrumentalisé de manière excessive (art. 3 let. a LPA). Toujours au sens de cette loi, le bien-être des animaux est notamment réalisé: 1. lorsque leur détention et leur alimentation sont telles que leurs fonctions corporelles et leur comportement ne sont pas perturbés et que leur capacité d'adaptation n'est pas sollicitée de manière excessive, 2. lorsqu'ils ont la possibilité de se comporter conformément à leur espèce dans les limites de leur capacité d'adaptation biologique, 3. lorsqu'ils sont cliniquement sains, 4. lorsque les douleurs, les maux, les dommages et l'anxiété leur sont épargnés (art. 3 let. b LPA).
La protection des animaux est donc une activité qui poursuit un but d'intérêt général, comme le reconnaît aussi la pratique (Circulaire, p. 3).
Toutefois, et contrairement à ce que soutient la recourante, la LPA ne considère pas que la dignité et le bien-être animaux comprennent le droit à la vie (cf. Message concernant la révision de la loi sur la protection des animaux du 9 décembre 2002, FF 2003 613, qui précise que la loi protège la dignité et le bien-être de l'animal mais non sa vie; RÜTTIMANN/RICHNER/LÜCHINGER/FLÜCKIGER, Pferd im Recht transparent, 2015, p. 12 s. et p. 469 s.; SASKIA STUCKI, Grundrechte für Tiere, 2016, p. 103). Le législateur suisse n'a pas cherché à encourager le maintien en vie des animaux, mais se limite à réprimer la mise à mort cruelle ou par malice d'animaux (art. 26 al. 1 let. b LPA; cf. STUCK i, p. 103 s). C'est donc à juste titre que les juges précédents ont retenu que même elle si répondait à un souci éthique, la prise en charge de chevaux âgés et/ou blessés souvent destinés à être euthanasiés pour qu'ils vivent plus longtemps allait au-delà du cadre de la protection des animaux figurant dans le droit suisse.
5.6.2. Il est certes plausible que la plus grande partie de la population ne partage pas l'idée selon laquelle l'animal est une simple chose (cf. déjà <ref-ruling> consid. 5a p. 255 où le Tribunal fédéral a reconnu que l'animal est un être vivant et sensible qui mérite considération et respect). Sous l'angle légal, cette sensibilité s'est notamment concrétisée par l'entrée en vigueur le 1er février 2003 de plusieurs modifications de lois, dont celle de l'art. 641a du Code civil, qui prévoit désormais à son alinéa 1 que les animaux ne sont pas des choses (cf. RO 2003 463). Dans ce contexte, on peut être d'avis que le fait de permettre à un cheval de terminer sa vie dans de bonnes conditions et de ne pas la lui ôter en raison de son âge ou de son infirmité procède d'un traitement conforme à l'idée selon laquelle un animal n'est pas une simple chose. Il faut toutefois aussi garder à l'esprit que l'acquisition d'un cheval relève d'un choix personnel, dont les conséquences restent de la responsabilité première des propriétaires concernés.
5.6.3. Compte tenu du pouvoir d'appréciation dont disposent les autorités cantonales, on ne voit pas qu'en considérant que l'activité poursuivie par la recourante ne relevait pas de l'art. 56 let. g LIFD, l'arrêt attaqué ait violé le droit fédéral ni qu'il ait été constitutif d'arbitraire.
II. Impôt cantonal
6.
La réglementation cantonale fribourgeoise relative à l'exonération des personnes morales pour but de pure utilité publique figure à l'art. 97 let. g de la loi sur les impôts directs cantonaux du 6 juin 2000 (LICD; RS/FR 631.1), qui prévoit l'exonération des personnes morales qui poursuivent des buts de service public ou d'utilité publique, sur le bénéfice et le capital exclusivement et irrévocablement affectés à ces buts.
Cette réglementation relève du droit harmonisé (art. 23 al. 1 let. f LHID) et a la même teneur que l'art. 56 let. g LIFD. Il s'ensuit que les développements concernant l'impôt fédéral direct peuvent être repris s'agissant du droit cantonal.
7.
La recourante reproche aussi à l'arrêt attaqué d'aboutir à une distorsion de concurrence. Son grief est toutefois formulé de manière appellatoire et renvoie à une écriture qu'elle a produite devant l'instance précédente. Or, un recourant ne peut se contenter de motiver son recours auprès du Tribunal fédéral en renvoyant à ses écritures antérieures (cf. <ref-law>; <ref-ruling> consid. 3.2 p. 399 s.). Il n'y a donc pas lieu d'examiner plus avant ce grief.
8.
Ce qui précède conduit au rejet du recours tant en ce qui concerne l'impôt fédéral direct que l'impôt cantonal.
La recourante, qui succombe, doit supporter les frais judiciaires (<ref-law>). Il n'est pas alloué de dépens (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté en tant qu'il concerne l'impôt fédéral direct.
2.
Le recours est rejeté en tant qu'il concerne l'impôt cantonal.
3.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
4.
Le présent arrêt est communiqué au mandataire de la recourante, au Service cantonal des contributions du canton de Fribourg, au Tribunal cantonal du canton de Fribourg, Cour fiscale, et à l'Administration fédérale des contributions.
Lausanne, le 20 août 2019
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
La Greffière : Vuadens