Fatti :
A.- D._, nata nel 1956, ha chiesto il 22 maggio 1995 il riconoscimento di una rendita d'invalidità.
Riconosciuta invalida nella misura del 50%, a dipendenza di turbe dorsali, con decisione del 25 luglio 1997 l'Ufficio assicurazione invalidità del Cantone Ticino le ha assegnato una mezza rendita d'invalidità a decorrere dal 1° maggio 1995.
B.- Tramite il Servizio di consulenza giuridica per persone andicappate, l'assicurata ha deferito la decisione amministrativa con ricorso al Tribunale delle assicurazioni del Cantone Ticino, chiedendo l'assegnazione di una rendita intera.
Pur riconoscendo un tasso d'invalidità superiore a quello stabilito dall'amministrazione, ovvero del 59,1%, per giudizio del 7 aprile 1999 il Tribunale cantonale delle assicurazioni ha respinto il ricorso.
C.- Sempre assistita dal Servizio patrocinatore, l'assicurata interpone ricorso di diritto amministrativo a questa Corte. Postula di nuovo l'erogazione di una rendita intera al posto di una mezza.
Mentre l'amministrazione propone la reiezione del gravame, l'Ufficio federale delle assicurazioni sociali non si determina al riguardo.

Diritto :
1.- Litigiosa in concreto è unicamente la questione di sapere se l'invalidità lamentata dalla ricorrente attinge un livello giustificante una rendita intera o una mezza.
2.- Giusta l'<ref-law> l'erogazione di una rendita intera presuppone un'invalidità pari almeno ai due terzi.
Come già esposto dai primi giudici, secondo il capoverso 2 della medesima disposizione l'invalidità è determinata stabilendo il rapporto fra il reddito del lavoro che l'assicurato conseguirebbe, dopo l'insorgenza dell'invalidità e dopo l'esecuzione di eventuali provvedimenti d'integrazione, nell'esercizio di un'attività lucrativa ragionevolmente esigibile da lui in condizioni normali di mercato del lavoro e il reddito del lavoro che egli avrebbe potuto conseguire se non fosse diventato invalido.
I primi giudici hanno poi rilevato che al fine di poter graduare l'invalidità l'amministrazione (o il giudice in caso di ricorso) deve poter disporre dei necessari documenti rassegnati dal medico o eventualmente da altri specialisti, precisando, da un lato, come il compito del medico consista nel porre un giudizio sullo stato di salute e nell'indicare in quale misura e in quali attività l'assicurato sia incapace al lavoro, dall'altro, come la documentazione medica costituisca un importante elemento di giudizio per determinare quali lavori siano ancora ragionevolmente esigibili dall'assicurato.
3.- La ricorrente, che dal mese di maggio del 1994 è inattiva, critica il giudizio cantonale nella misura in cui ha fissato in soli fr. 30'000. - il reddito realizzabile senza invalidità. Fa valere un reddito da persona valida di fr. 47'549. -, importo questo pari a quanto avrebbe potuto guadagnare in un anno di lavoro a tempo pieno presso l'ultimo datore di lavoro, la fondazione L._, che l'aveva assunta a metà tempo quale donna delle pulizie a partire dal 1° febbraio 1994.
Orbene, considerato che l'amministrazione non contesta ed anzi davanti ai primi giudici ha esplicitamente riconosciuto il reddito da persona valida fatto valere dalla ricorrente, benché risultasse notevolmente superiore a tutte le retribuzioni precedentemente percepite, alla cui media l'autorità giudiziaria cantonale ha fatto capo, questa Corte non vede motivo per soffermarsi ulteriormente sull'argomento, potendo confermare l'importo addotto dall'assicurata, quand'anche il medesimo possa apparire generoso nei suoi confronti.
4.- Per quel che concerne ora il reddito ipotetico da invalido, questa Corte ha in una recente sentenza <ref-ruling> stabilito che ai fini della determinazione di tale reddito fa stato in primo luogo la situazione professionale e salariale concreta dell'interessato. Qualora difettino indicazioni economiche effettive, possono, conformemente alla giurisprudenza, essere ritenuti i dati forniti dalle statistiche salariali.
La questione di sapere se e in quale misura al caso i salari fondati su dati statistici debbano essere ridotti dipende dall'insieme delle circostanze personali e professionali del caso concreto (limitazione addebitabile al danno alla salute, età, anni di servizio, nazionalità e tipo di permesso di dimora, grado di occupazione), criteri questi che l'amministrazione è tenuta a valutare globalmente. La Corte ha precisato, al riguardo, come una deduzione globale massima del 25% del salario statistico permettesse di tener conto delle varie particolarità suscettibili di influire sul reddito del lavoro.
Il Tribunale federale delle assicurazioni ha poi ancora rilevato, nella medesima sentenza, che il giudice, chiamato a pronunciarsi sulla deduzione globale procedente da una stima che l'amministrazione deve succintamente motivare, non può senza valido motivo sostituire il suo apprezzamento a quello degli organi dell'assicurazione.
5.- In concreto, i primi giudici hanno fondato la querelata pronunzia sulle risultanze di una perizia del Servizio X._, dalle quali anche questa Corte non ha motivo di scostarsi. Poste le diagnosi invalidanti di sindrome lomboradicolare con/su pregresso intervento per ernia discale L5-S1 a destra, sindrome radicolare S1 residuale a destra, protrusione discale L4-L5, canale spinale stretto L4-L5, il rapporto, datato 5 aprile 1996, evidenzia che la ricorrente è incapace al lavoro nella misura del 70% a partire dal mese di maggio del 1994 come donna delle pulizie, mentre in un'attività medio-leggera, quale ad esempio quella di sorvegliante o operaia alla catena di montaggio, con la possibilità di cambiare spesso posizione e senza dover alzare pesi superiori a 15-20 kg, l'interessata è abile al lavoro nella misura del 50%.
Ora, secondo i dati statistici sulla struttura dei salari editi dal competente Ufficio federale, la retribuzione annua media delle lavoratrici attive in occupazioni semplici e ripetitive nel settore privato ammontava nell'anno di riferimento, ossia nel 1995, a fr. 42'338.- (fr. 3'325.- : 40 x 41,9 x 12 x 101,3%). In considerazione della residua abilità al lavoro nella misura del 50% in attività confacenti e ritenuta un'ulteriore riduzione dal salario statistico del 20%, adeguato alle specifiche circostanze del caso concreto, si giunge ad un reddito ipotetico da invalido di fr. 16'935.-, che posto a confronto con il guadagno non meno ipotetico realizzabile da persona valida di fr. 47'549.-, conduce ad un grado di invalidità del 64,38%.
6.- Dato che questo tasso, che è di poco inferiore ai due terzi, non può di principio essere arrotondato (sentenza dell'8 agosto 2001 in re E., I 32/00, destinata alla pubblicazione nella Raccolta Ufficiale), il giudizio cantonale querelato è meritevole di tutela nell'esito, sebbene per ragioni diverse da quelle addotte dai primi giudici. Il gravame deve pertanto essere respinto.

Per questi motivi, il Tribunale federale delle assicurazioni
pronuncia :
I.Il ricorso di diritto amministrativo è respinto.
II.Non si percepiscono spese giudiziarie.
III. La presente sentenza sarà intimata alle parti, al Tribunale cantonale delle assicurazioni, Lugano, e all'Ufficio federale delle assicurazioni sociali.